在运行iOS 4.2的设备上使用SDK 4.3“挂起”构建的UIImagePickerControllerSourceTypeCamera是否有任何问题?
在我的应用程序中,运行iOS 4.3的用户可以打开UIImagePicker并拍照。 如果用户正在运行iOS 4.2,则UIImagePicker会加载并显示“快门图像”,但应用程序会挂起并且“快门”永远不会打开以显示相机的视图。 屏幕图像:http://dl.dropbox.com/u/20056106/ImagePicker_Stuck.png
没有生成CrashLog,因为应用程序只是停留在ImagePicker中。 ImagePicker的“取消按钮”和“相机按钮”未启用,因此无法关闭ImagePicker。
有没有人遇到过这类问题?
谢谢,
简略
答案 0 :(得分:5)
我遇到了类似的问题我修好了。
在我的情况下,挂起只发生在iPhone 5.0模拟器上运行我的应用程序时。如果我在iPhone 4.3模拟器上运行应用程序,UIImagePicker工作正常。
问题是我如何解雇UIImagePickerController。
我的UIImagePickerController委托方法中的原始代码
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
// Incorrect way of dismissing the uiImagepickerController
// [[picker parentViewController] dismissModalViewControllerAnimated: YES];
// Correct way of dismissing
[self dismissModalViewControllerAnimated: YES];
[picker release];
}
答案 1 :(得分:0)
更新您的设备,或发布崩溃日志。尝试重新启动设备并从后台关闭所有其他应用程序。这应该解决它。
答案 2 :(得分:0)
根据Omil的回答,检查这两件事是否正确:
UIImagePickerController
代表不是nil
(如果是nil
,那你怎么解雇呢?)dismissModalViewControllerAnimated
的视图控制器关闭UIImagePickerController
不是nil
,而且您首先使用{{1}提供了选择控制器的视图控制器}。 XCode4.2的问题是它导致第2点开始失败(presentModalViewController
曾经是获取父视图控制器的有效方法,但现在它是零),这就是Omil的修复工作原理特殊情况。