I want use UIImagePickerController, and I found this example
Added to .h
@interface MenuScene : CCLayer <UIImagePickerControllerDelegate, UINavigationControllerDelegate>
{
UIWindow *window;
UIImage *newImage;
}
Added to .m
-(void)pickPhoto:(UIImagePickerControllerSourceType)sourceType{
UIImagePickerController *picker = [[UIImagePickerController alloc]init];
picker.delegate = self;
picker.sourceType = sourceType;
picker.wantsFullScreenLayout = YES;
[picker presentViewController:picker animated:NO completion:nil];
[[[CCDirector sharedDirector] view] addSubview:picker.view];
}
-(void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info{
newImage = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
[picker dismissViewControllerAnimated:YES completion:nil];
[picker.view removeFromSuperview];
[picker release];
CCSprite *imageFromPicker = [CCSprite spriteWithCGImage:newImage.CGImage key:@"ImageFromPicker"];
}
I try to call [self pickcPhoto:UIImagePickerControllerSourceTypeCamera] and it crash at [picker presentViewController:picker animated:NO completion:nil]; with message
Terminating app due to uncaught exception ‘NSInvalidArgumentException’, reason: ‘Application tried to present modal view controller on itself. Presenting controller is .
‘
I’m using Cocos2d v2 testing on iOS 6, I will be thankful for any advice.
I found that at this moment, cocos have some issue with iOS6 and portrain orientation. ImagePickerController works only in portrain so that’s crash origin. I will be monitoring this case and update when something will change.