![見出し画像](https://assets.st-note.com/production/uploads/images/144180577/rectangle_large_type_2_e879893408eef9277e7e6a8ef58a8389.png?width=1200)
ロック画面から撮影機能を起動する - Locked Camera Capture Extension #WWDC24
WWDC24のセッション "Build a great Lock Screen camera capture experience" を見たメモ
iOS 18から可能になった、iPhoneのロック画面やアクションボタンからサードパーティアプリの撮影機能を起動できるようになった件について解説するセッション。
⚠️ 本記事の画像、引用部分は基本的に同セッションからの引用です。
セッションのアジェンダ
Great capture experiences
優れたカメラ・キャプチャ・エクスペリエンスとは何かについて
Lifecycle of a capture extension
Capture Extensionのライフサイクルを説明
Running on a locked device
ロックされたデバイスで実行する際の重要な注意点について
Capturing from the Lock Screen
ロック画面から素晴らしい写真や動画をキャプチャする方法について、さらに深く掘り下げていきます。
Working with captures in your app
ロック画面からキャプチャしたコンテンツをアプリケーションに組み込む方法を見ていきます。
このうち、"Great capture experiences" と "Lifecycle of a capture extension" は本記事にまとめる。
それ以降の制約等について解説するパートは長くなるので別記事に書いた:
ロック画面からのカメラ起動
こういうキャプチャー体験がグレイトだよね、という話。
ロックを解除する必要すらなく、アクションボタン、コントロールセンター、ロック画面からカメラを起動できる。
![](https://assets.st-note.com/img/1718479351631-3lGZ2xP81A.png?width=1200)
デバイスがロックされていても、カメラコントロールを押せば、ロック画面から素早く簡単にカメラにアクセスできる。このコントロールを押すと、
![](https://assets.st-note.com/img/1718479438146-zJ2q3Hgs6B.png?width=1200)
ビューファインダーに直接アクセスして写真を撮り始めることができる。
![](https://assets.st-note.com/img/1718479396146-gEIWWBNdfs.png?width=1200)
ボリュームアップボタンを押すと写真撮影、長押しすると動画撮影が始まる。
写真やビデオを撮ったら、画像をタップして見ることができる。
デバイスはまだロックされたままであり、今回撮影した写真やビデオのみ表示することで、プライバシーを維持する。
Locked Camera Capture Extension
![](https://assets.st-note.com/img/1718479776540-2hzOxvEvOP.png?width=1200)
このような体験を可能にするには、新しいApp ExtensionであるLocked Camera Capture Extensionを作成する。
![](https://assets.st-note.com/img/1718479784699-EqyJN3tnWI.png?width=1200)
App Extensionは、アプリケーションに埋め込まれる別のターゲット。カスタム機能やコンテンツをアプリの外に拡張し、他のアプリやシステムとのインタラクション中に利用できるようにするもの。
アプリケーションとコードを共有できるので、本体側と同じ使い慣れたUIを使用して、デバイスがロックされていても写真を撮ったりビデオを録画したりできるようになる。
Capture Extensionのライフサイクル
キャプチャエクステンションは、写真やビデオアセットをフォトライブラリに直接追加したり、キャプチャに必要なデータをファイルシステム上のディレクトリに保存したりすることができる。
![](https://assets.st-note.com/img/1718482261657-8ZHZPqJjvZ.png?width=1200)
キャプチャしたコンテンツをSNSに投稿したり、画像アセットを必要とするフィルタを適用したい場合は、親アプリケーションを開くように要求することができ、デバイスを使用している人を認証する。
最後にアプリに移行する場合でも、上にスワイプしてロックスクリーンに戻る場合でも、Capture Extensionはdismissされる。
この場合、システムはキャプチャしたコンテンツを親アプリケーションがアクセスできる場所に移動する。
アプリにランタイムがあれば、拡張機能でキャプチャしたコンテンツを他のコンテンツに組み込むことができる。このプロセスについては、本セッション後半で詳しく説明する。
ここから先は
![](https://assets.st-note.com/production/uploads/images/30546/profile_06a075ed16533f7e4dbf64e4f60f99be.jpg?fit=bounds&format=jpeg&quality=85&width=330)
#WWDC24 の勉強メモ
WWDC 2024やiOS 18, visionOS 2についてセッションやサンプルを見つつ勉強したことを記事にしていくマガジンです。 …
最後まで読んでいただきありがとうございます!もし参考になる部分があれば、スキを押していただけると励みになります。 Twitterもフォローしていただけたら嬉しいです。 https://twitter.com/shu223/