iPad上的iOS UIImagePickerController黑屏

时间:2015-02-18 14:07:48

标签: ios objective-c ipad uiimagepickercontroller

我遇到了另一个奇怪的问题......

我允许用户拍照。为此,我使用了UIImagePickerController。

使用iPhone,它可以使用,但是使用iPad(iOS 8,我不知道其他版本),我有黑屏预览。

这是我的代码:

- (BOOL) startCameraControllerFromViewController: (UIViewController*) controller usingDelegate: (id <UIImagePickerControllerDelegate, UINavigationControllerDelegate>) delegate {
if (([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera] == NO) || (delegate == nil) || (controller == nil))
    return NO;

UIImagePickerController *cameraUI = [[UIImagePickerController alloc] init];
cameraUI.sourceType = UIImagePickerControllerSourceTypeCamera;
cameraUI.allowsEditing = NO;
cameraUI.delegate = delegate;

[self presentViewController:cameraUI animated:YES completion:NULL];

return YES;

}

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
    NSLog(@"photo taken");
}

因此,当用户点击按钮时,我会查看视图以显示所显示的照片。但是屏幕是黑色的,当我点击按钮拍照时,没有任何东西....并且没有调用过的FininPickingMediaWithInfo。

(我看到更多主题,但我找不到解决此问题的任何方法。)

谢谢,

2 个答案:

答案 0 :(得分:3)

确保在主线程上运行UIKit操作。还要检查您的应用是否有权使用相机[在设备设置中]。

答案 1 :(得分:2)

这也可能是一个问题。(如果有人帮助的话。)

试试这个解决了我的问题,确保有一个值

您的info.plist&gt;中的

(应用名称为字符串) &#34; 捆绑显示名称&#34;。

就我而言,它是空的,因此它没有用。

如果&#34; 捆绑显示名称&#34;在info.plist中没有,然后添加一行名为&#34; Bundle display name&#34;并粘贴您的appname。