相机在iOS中的UIImagepickercontroller中有黑屏

时间:2014-09-25 08:04:15

标签: ios objective-c camera uiimagepickercontroller

我正面临UIIMagePickercontroller中的黑屏预览。我试过很多解决方案,但无法解决这个问题。任何人都可以帮我解决这个问题吗?当我打开照片库并选择一些照片,然后在UICollectionview中添加新的cellItem时,总会发生这种情况,之后我打开相机拍摄新照片,问题就发生了。

以下是我用来打开相机的代码:

 -(void)actionLaunchAppCamera
{
    dispatch_async(dispatch_get_main_queue(), ^{
        if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
        {

            if (self.cameraPickerController == nil) {
                self.cameraPickerController= [[UIImagePickerController alloc] init];
                self.cameraPickerController.mediaTypes =[UIImagePickerController  availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera];
                self.cameraPickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
                self.cameraPickerController.showsCameraControls = YES;
                self.cameraPickerController.allowsEditing = YES;
             }

            if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])  {

                 // self.cameraPickerController.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto||UIImagePickerControllerCameraCaptureModeVideo;
                 self.cameraPickerController.delegate = self;
                 self.cameraPickerController.cameraDevice = UIImagePickerControllerCameraDeviceRear;
                 self.cameraPickerController.cameraFlashMode = UIImagePickerControllerCameraFlashModeOff;
                 self.cameraPickerController.modalPresentationStyle = UIModalPresentationCurrentContext;
                 self.cameraPickerController.modalPresentationStyle = UIModalPresentationFullScreen;

                 [self presentViewController:self.cameraPickerController
                 animated:YES completion:^
                 {
                 // BE SURE TO USE a completion block!!!
                 // completion stuff in here
                 }];
            }
        }
    });

}

提前致谢。

2 个答案:

答案 0 :(得分:2)

我在没有运气的情况下尝试了一切,直到我在Info.plist中将我的Bundle Display Name设置为“whatever”。

在此之后,应用程序按预期要求权限并且相机正常工作。

我只浪费了一天,这似乎远低于StackOverflow的中位数。希望它从这个痛苦的虫子中拯救他人。

答案 1 :(得分:0)

问题不在于您的代码。这是苹果的API。您可以在Apple联系人中查看相同的问题,如果您编辑图片,保存它然后返回并编辑它。然后你会有一个黑色预览。以任何方式拍照并重复这个过程,然后就可以了。它也在文本消息图片中执行。将设备重置为出厂设置,一切都会工作一段时间。我3个月前向苹果公司报告过,但他们仍然没有报道。有人会认为,如果Apple的核心应用程序中有错误报告,他们会修复它。这个问题确实很痛苦,但IOS 6没有问题。