デバイス ギャラリーから写真を選択して UIImage に設定しようとしていますが、ユーザーがライブラリから写真を選択するとデバイスがクラッシュします。
クラッシュログは次のとおりです。
Notice: Formulating crash report for process [7997]
Aug 8 10:16:36 iPad ReportCrash[8000] <Error>: libMobileGestalt copySystemVersionDictionaryValue: Could not lookup ReleaseType from system version dictionary
Aug 8 10:16:36 iPad com.apple.launchd[1]
(UIKitApplication:[0x8dd8][7997]) <Warning>:
(UIKitApplication:[0x8dd8]) Job appears to have
crashed: Trace/BPT trap: 5
Aug 8 10:16:36 iPad backboardd[26] <Warning>: Application
'UIKitApplication:[0x8dd8]' exited abnormally with signal 5: Trace/BPT
trap: 5
ここに私のコードがあります:
-(IBAction)btnSelecionarFotoClick:(id)sender {
if([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypePhotoLibrary]) {
inserindoFoto = YES;
UIImagePickerController *picker= [[UIImagePickerController alloc]init];
picker.delegate = self;
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentViewController:picker animated:YES completion:nil];
[picker release];
}
}
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage : (UIImage *)image editingInfo:(NSDictionary *)editingInfo {
NSData *dataObj = nil;
if (image) {
dataObj = UIImageJPEGRepresentation(image, 1.0);
}
if (imgUsuario.image) {
imgUsuario.image = nil;
[imgUsuario.image release];
}
imgUsuario.contentMode = UIViewContentModeScaleAspectFill;
imgUsuario.image = image;
[imgUsuario.layer setCornerRadius:5];
imgUsuario.layer.masksToBounds = YES;
[self dismissViewControllerAnimated:NO completion:nil];
inserindoFoto = NO;
}
編集
画像を選択せずにキャンセルすると、クラッシュします:
-(void)imagePickerControllerDidCancel:(UIImagePickerController *) picker
{
[self dismissViewControllerAnimated:NO completion:nil];
}
私は問題を見つけました:
autoLayoutを無効にすると機能します...しかし、autoLayoutを使用する必要があります