アプリ内で奇妙な動作が発生しています。写真を撮るために、UIImagePickerController を表示するために次のかなり標準的なコードを使用しています。
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.allowsEditing = NO;
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
[self presentViewController:picker animated:YES completion:nil];
このアクションを呼び出すボタンを初めてタップすると、完全に正常に機能します。そのボタンをもう一度タップすると、奇妙な動作が始まります。UIImagePickerController が再び開始されますが、カメラからの入力が表示されなくなります。それは私が撮った最後の写真を示しています。
この状態の詳細:
- 画像をタップすると、オートフォーカスの黄色い四角が表示されます。(実際にカメラの焦点を合わせるために使用されます)
- ImageCapture ボタンをタップすると、正しい画像が取得され、画面に表示されます。
- 写真を撮って「再撮影」を押すと、通常のカメラ画像が入力として表示されます。
さらに奇妙なことに、私が使用している iPad とは何の関係もありません。すべての上からコードを呼び出すボタンのみを持つ新しいサンプルアプリを作成すると、完全に正常に機能します。
アプリの設定に関係があると思います。したがって、すべてを確認しましたが、この問題を引き起こす可能性のある違いは見つかりませんでした。
アドバイスをよろしくお願いします!
更新: UIImagePickerController を閉じるために、UIImagePickerControllerDelegate を実装します。