Iphone UIImagePicker使用SDK 4.3“构建;挂起;在iOS 4.2上
是否有人在运行iOS 4.2的设备上遇到过使用SDK 4.3构建的UIImagePickerController源TypeCamera“挂起”的问题 在我的应用程序中,运行iOS 4.3的用户可以打开UIImagePicker并拍照。 如果用户正在运行iOS 4.2,UIImagePicker将加载并显示“快门图像”,但应用程序将挂起,“快门”永远不会打开以显示相机的视图。 屏幕图像如下: 不会生成CrashLog,因为应用程序只是卡在ImagePicker中。图像采集器的“取消按钮”和“照相机按钮”未启用,因此无法关闭图像采集器 有没有人遇到过这种问题 谢谢,Iphone UIImagePicker使用SDK 4.3“构建;挂起;在iOS 4.2上,iphone,ios,ios4,uiimagepickercontroller,Iphone,Ios,Ios4,Uiimagepickercontroller,是否有人在运行iOS 4.2的设备上遇到过使用SDK 4.3构建的UIImagePickerController源TypeCamera“挂起”的问题 在我的应用程序中,运行iOS 4.3的用户可以打开UIImagePicker并拍照。 如果用户正在运行iOS 4.2,UIImagePicker将加载并显示“快门图像”,但应用程序将挂起,“快门”永远不会打开以显示相机的视图。 屏幕图像如下: 不会生成CrashLog,因为应用程序只是卡在ImagePicker中。图像采集器的“取消按钮”和“照相机
快速更新您的设备,或发布您的崩溃日志。尝试重新启动设备并从后台关闭所有其他应用程序。这应该可以解决它。我有一个和你的问题相似的问题,我已经解决了 在我的例子中,挂起只发生在iPhone 5.0模拟器上运行我的应用程序时。如果我在iPhone4.3模拟器上运行这个应用程序,UIImagePicker工作得很好 问题是我是如何解雇UIImagePickerController的 my UIImagePickerController委托方法中的原始代码
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
// Incorrect way of dismissing the uiImagepickerController
// [[picker parentViewController] dismissModalViewControllerAnimated: YES];
// Correct way of dismissing
[self dismissModalViewControllerAnimated: YES];
[picker release];
}
根据Omil的回答,检查以下两项是否正确:
UIImagePickerController
的委托不是nil
(如果它是nil
,那么您如何解除它?)UIImagePickerController
而调用的dismissModalViewControllerAnimated
视图控制器不是nil
,与您首先使用presentModalViewController
显示picker控制器的视图控制器相同XCode4.2的问题是它导致第2点开始失败(
[picker parentViewController]
过去是获取父视图控制器的有效方法,但现在是零),这就是为什么Omil的修复程序适用于该特定情况。感谢快速响应,@Control-V。也许“崩溃”不是正确的术语。应用程序不会生成CrashLog,因为它只是“挂起”在imagePicker中。我可以在加载ImagePicker之前检查iOS版本,并在运行iOS 4.3时仅通过将sourceType设置为UIImagePickerControllerSourceTypeCamera来避免“挂断”,但这并不是真正的解决方案。重新启动和关闭其他应用程序不会“修复”该问题。谢谢Omid!这也是我的问题。似乎我们不能再使用[picker parentViewController]。看起来很有趣,苹果的文档没有更新以反映iOS 5中的这一变化。他们继续使用[[picker parentViewController]DismissModalViewController激活:是];由于某些原因,此代码有时会起作用(不安全-请勿使用)。。。[self.imagePicker dismissViewControllerAnimated:YES完成:nil]。。。我不知道这是怎么在控制器中结束的,也不知道它为什么工作。。。但是不要用它!谢谢你给我指出了正确的方向,Omid!