写真を撮るアプリがあります。私のアプリケーション全体は、WWDC 2010のAVCamサンプルコードに基づいています。私はそれを何度もいじりましたが、これまで、カメラセッションを解放するカメラビューを適切に解放する方法を理解できませんでした...
私がやろうとしているのは次のことだけです。
- カメラビューコントローラーを開く
- 写真を撮る
- カメラビューコントローラーを閉じる
- もう一度開きます
2回目にviewControllerをプッシュすると、セッションが失われ、プレビューが利用できなくなり、キャプチャも利用できなくなります。完全なサンプルコードをgithubで公開しました。
この問題の回避策は、カメラをまったく解放しないことでした。そのため、Camera View Controllerはシングルトンとして機能しますが、これは正しい方法ではないと思います。さらに、この動作では、アプリケーションがバックグラウンドに移行したときにカメラをサポートする方法を見つけることができませんでした(たとえば電話)。
アドバイスしてください。カメラセッションを破棄するにはどうすればよいですか?そうすることは重要ですか?