简体   繁体   中英

iOS UIImagePickerController black screen on iPad

I'm meeting another strange problem....

I allow users to take photo. To do that, I'm using UIImagePickerController.

With iPhone, it's working, but with iPad (iOS 8, I don't know for others versions), I have a black screen preview.

This is my code :

- (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");
}

So when the user click on the button, I've the view to take the photo which appears. But the screen is black, and when I click on the button to take the photo, there is nothing.... and didFinishPickingMediaWithInfo isn't called.

(I see more topics, but I don't found any solution for this problem.)

Thanks,

Make sure you run UIKit operations on main thread. Check also if you app has permissions to use camera [in device settings].

This can also be an issue.(If it helps someone.)

Try this its solved my problem, make sure that there is a value

(Application name as string) in your info.plist > " Bundle display name ".

In my case it was empty and because of that it didn't work.

If " Bundle display name " is not there in the info.plist,then add a row named "Bundle display name" and paste your appname .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM