2016-09-16 11 views
1

奇妙な問題:iPhoneカメラの操作を有効にするとアプリがクラッシュする

ユーザーは、iPhoneカメラを起動して写真を撮ることができます。例えば。ボタンをタップすると、カメラが開きます。昨日まで、以下のコードは完全にうまくいきました(それでも自分の電話ではあります)。しかし、私たちのテストグループの他のみんなの電話では、カメラのボタンがタップされるとすぐにアプリがクラッシュします。理由は何ですか?私のコードを見てください - 私は困惑しています。 :誰もが実行されているiOSの10

それだけios10にクラッシュした場合ViewController.h

#import <UIKit/UIKit.h> 

@interface ViewController : UIViewController <UITextFieldDelegate, UINavigationControllerDelegate, UIImagePickerControllerDelegate> { 

}  
    @property (strong, nonatomic) NSMutableArray *photoData; 
    @property (weak, nonatomic) IBOutlet UIImageView *imageView; 

    @end 

ViewController.m

- (IBAction)takePhoto:(id)sender { 

    UIImagePickerController *picker = [[UIImagePickerController alloc] init]; 
    picker.delegate = self; 
    picker.allowsEditing = YES; 
    picker.sourceType = UIImagePickerControllerSourceTypeCamera; 

    [self presentViewController:picker animated:YES completion:NULL]; 
} 

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 

    UIImage *chosenImage = info[UIImagePickerControllerEditedImage]; 
    self.imageView.image = chosenImage; 

    [picker dismissViewControllerAnimated:YES completion:NULL]; 
} 

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker { 

    [picker dismissViewControllerAnimated:YES completion:NULL]; 
} 
+0

クラッシュに関する質問を投稿するときは、クラッシュの完全で正確なエラーメッセージを含め、クラッシュの原因となったコードの正確な行を指摘してください。 – rmaddy

+0

@rmaddy今回は私がしなかった唯一の理由は、クラッシュエラー(畳み込み、私が知っている)を見ることができないからです。私のデバイスでは、それはすごく動きます。しかし、それは(私は自分のコンピュータに接続することはできません)他のデバイスでクラッシュするようだ... –

+0

クラッシュレポートを送信するユーザーを取得します。 – rmaddy

答えて

1

それはかもしれませんで義務付けられているprivacy key settingの問題およびxcode 8である。ので、あなたのinfo.plist

Privacy - Photo Library Usage Description 

に、 keyの下に追加する必要があります。それは私の考えるあなたの問題を解決する可能性があります。そうでなければあなたのコードは完璧です。

this answerを他のキーとその説明について参照できます。

+3

回答を何度も再投稿するのではなく、重複して質問を閉じるよう投票してください。 – rmaddy

+0

今すぐ試してみてください - この回答は、私のものだけどすべてのデバイスでクラッシュするので理にかなっています!まもなく返信してください:) –

+0

@Brittanyしかし、あなたは誰もがiOS 10を実行していると述べています。あなたはiOS 10を使用していないとは言いませんでした。 – rmaddy

関連する問題