只有连接到乐器时,带有相机的iOS应用程序才会崩溃

时间:2015-08-05 16:06:13

标签: ios uiimagepickercontroller instruments

我们的商业应用程序在使用仪器中的自动化脚本进行测试时崩溃。我们将问题缩小到UIImagePickerController。 但它只是在连接到仪器时崩溃了!

为了缩小问题范围,我们创建了一个只做一件事的裸骨测试应用程序:调出相机选择器,然后将其关闭。

重现的步骤是 1.单击按钮调出摄像头 2.单击取消关闭相机 3.重复40-50次。

在100多次重复后,在设备上运行没有问题 连接到仪器后,它会在40-50次重复后可靠地崩溃。

Tester应用程序有一个视图,它有一个UIButton内部视图控制器。 单击按钮时,它会从视图控制器中显示UIImagePickerController,如下所示:

-(IBAction)buttonClicked:(id)sender
{
    imagePicker = [[UIImagePickerController alloc] init];
    imagePicker.delegate = self;
    imagePicker.modalPresentationStyle = UIModalPresentationFullScreen;

    imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
    imagePicker.showsCameraControls = TRUE;

    [self presentViewController:imagePicker animated:YES completion:^{}];

}

这是视图控制器的声明:

@interface ViewController : UIViewController<UINavigationControllerDelegate,UIImagePickerControllerDelegate>
{
    UIImagePickerController *imagePicker;
}

启动UIImagePickerController后,只需按“取消”按钮退出UIImagePickerController,委托方法如下所示:

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
    [self dismissViewControllerAnimated:YES completion:^{
        NSLog(@"Cancel Picker");
    }];
}

任何帮助将不胜感激。

0 个答案:

没有答案