在iOS 4.2上使用SDK 4.3“挂起”构建的UIImagePicker

时间:2011-08-03 19:09:07

标签: iphone ios ios4 uiimagepickercontroller

在运行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。

有没有人遇到过这类问题?

谢谢,

简略

3 个答案:

答案 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的回答,检查这两件事是否正确:

  1. 您的UIImagePickerController代表不是nil(如果是nil,那你怎么解雇呢?)
  2. 您呼叫dismissModalViewControllerAnimated的视图控制器关闭UIImagePickerController不是nil,而且您首先使用{{1}提供了选择控制器的视图控制器}。
  3. XCode4.2的问题是它导致第2点开始失败(presentModalViewController曾经是获取父视图控制器的有效方法,但现在它是零),这就是Omil的修复工作原理特殊情况。