I am getting this error only in iOS 7 and the application crashed. In iOS 6, I never get any error, just once of memory warning when opening the camera.
Snapshotting a view that has not been rendered results in an empty snapshot. Ensure your view has been rendered at least once before snapshotting or snapshot after screen updates.
Here is what I am doing.
imagePicker = [[UIImagePickerController alloc] init];
[imagePicker setDelegate:self];
[imagePicker setSourceType:UIImagePickerControllerSourceTypeCamera];
[imagePicker setAllowsEditing:YES];
[self presentModalViewController:imagePicker animated:YES];
I did tried to delay the presentModalViewController, but I am still getting the same message. After few seconds (7-10), the application crashed.
This error is only present in iOS 7.
Anybody has the clue? Thank you in advance.
Try this, use
and function
to replace.
[self presentModalViewController:imagePicker animated:YES];
and of cause makeimagePicker
as a global variable.In my case it was related with a layout change: the VC presenting the
UIImagePickerViewController
has the status bar hidden, but theUIImagePickerViewController
hasn't.So, I solved it hiding the status bar in the
UIImagePickerViewController
as it's shown in this answer.I spent long time try to find the solution, and surprisingly I have found it at the end and it was just very funny once I discovered it.
Here is what you will do to retrieve the image you picked and resume working :)
Yes, to solve the issue, you only need to dismiss the picker normally as it seems this message: "Snapshotting a view that has not been rendered results in an empty snapshot. Ensure your view has been rendered at least once before snapshotting or snapshot after screen updates." stops the picker from being responsive but you can dismiss it and retrieve the image normally.
create a property
Then
This should solve the problem
I've just encountered the same issue. In my case the problem was that I had some non-ARC code and I've migrated it to ARC. When I did the migration, I didn't hold a strong reference to the
UIImagePickerController
and that was the reason for the crash.Hope it helps :)
I have the same issue and found a solve. I think, that error related with orientation of your application. My application uses only landscape mode, but UIImagePickerController use portrait mode. I add try-catch block to main.m, and get real exception:
How i solve this problem:
1) Recheck device orientation in Target->General, or .plist file: Supported interface orientations : Landscape left, Landscape right.
2) Add in AppDelegate.m:
After this step UIImagePickerController works properly, but my viewcontrollers can be rotated to portrait mode. So, to solve this:
3) Create a category for UINavigationController, (supportedInterfaceOrientations moved from UIViewController to UINavigationController in iOS6):
This solution works properly on iOS 6.0, 6.1, 7.0. Hope this helps.