ensure picker source available to prevent crash

This is crashing on simulator, but presumable if it weren't available
for other reasons (permissions?) it would also crash.

// FREEBIE
pull/1/head
Michael Kirk 9 years ago
parent 1e43e139fd
commit d4f2c0f249

@ -1334,29 +1334,30 @@ typedef enum : NSUInteger {
*/ */
- (void)takePictureOrVideo { - (void)takePictureOrVideo {
UIImagePickerController *picker = [[UIImagePickerController alloc] init]; if (![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
picker.delegate = self; DDLogError(@"Camera ImagePicker source not available");
picker.allowsEditing = NO; return;
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
picker.mediaTypes = @[ (NSString *)kUTTypeImage, (NSString *)kUTTypeMovie ];
[self presentViewController:picker animated:YES completion:[UIUtil modalCompletionBlock]];
} }
}
- (void)chooseFromLibrary {
UIImagePickerController *picker = [[UIImagePickerController alloc] init]; UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self; picker.sourceType = UIImagePickerControllerSourceTypeCamera;
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; picker.mediaTypes = @[ (__bridge NSString *)kUTTypeImage, (__bridge NSString *)kUTTypeMovie ];
picker.allowsEditing = NO;
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) { picker.delegate = self;
NSArray *photoOrVideoTypeArray = [[NSArray alloc] [self presentViewController:picker animated:YES completion:[UIUtil modalCompletionBlock]];
initWithObjects:(NSString *)kUTTypeImage, (NSString *)kUTTypeMovie, (NSString *)kUTTypeVideo, nil]; }
picker.mediaTypes = photoOrVideoTypeArray; - (void)chooseFromLibrary {
[self presentViewController:picker animated:YES completion:[UIUtil modalCompletionBlock]]; if (![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) {
DDLogError(@"PhotoLibrary ImagePicker source not available");
return;
} }
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
picker.delegate = self;
picker.mediaTypes = @[ (__bridge NSString *)kUTTypeImage, (__bridge NSString *)kUTTypeMovie ];
[self presentViewController:picker animated:YES completion:[UIUtil modalCompletionBlock]];
} }
/* /*

Loading…
Cancel
Save