Currently I'm using UIImagePickerController to allow our users to take photos within the app like so:
UIImagePickerController *picker = [UIImagePickerController new];
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
picker.mediaTypes = @[(NSString *)kUTTypeImage];
picker.delegate = self;
[self presentViewController:picker animated:YES completion:nil];
And I use the delegate method to get the image out and do what is needed:
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info {
// Do stuff.
}
This seems to work fine for 99.9% of our users but for some reason we occasionally have an odd info dictionary with no image in it. When I print the info dictionary, it looks like this every time:
{
UIImagePickerControllerMediaMetadata = {
"{MakerApple}" = {
25 = 0;
};
};
UIImagePickerControllerMediaType = "public.image";
}
As you can see there is no UIImagePickerControllerEditedImage
or UIImagePickerControllerOriginalImage
in that dictionary.
Anyone have any ideas on what this is, and what I might be able to do to 'fix it' ?