このコードはシミュレーターでは正常に実行されますが、デバイス (iPhone 3GS) では毎回、写真を撮るとすぐにクラッシュします。このコードに何か問題がありますか? 割り当てを使用してプロファイリングすると、アクティブなメモリはクラッシュ時に 3 ~ 4 MB しかないため、アプリがメモリ不足になっているようには見えません。ARCを使用しています。
-(IBAction)chooseImageNew:(UIButton*)sender
{
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
{
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.delegate = self;
imagePicker.allowsEditing = YES;
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
[self presentModalViewController:imagePicker animated:YES];
}
else {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"No Camera Available." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
}
}
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
UIImage *img = [info objectForKey:@"UIImagePickerControllerEditedImage"];
self.userPicture.image = img;
[self.images replaceObjectAtIndex:0 withObject:img];
[self dismissModalViewControllerAnimated:YES];
}