iOSのApp Extensionまとめ
App Extensionは機能を拡張し、アプリのコンテンツをiOS全体に広げることができます。本記事では、iOSアプリで扱えるApp Extension 8種類の利用例をまとめています。
App Extensionとは
App Extensionはアプリ本体の外側で行われるタスクを扱います。例えばウィジェットから特定のアクションを行えるようにしたり、カスタムキーボードを提供したりすることができます。現在iOSで利用できるApp Extensionには以下の8種類があります。
1. Share
他のアプリにてUIActivityControllerが開かれた際に、自身のアプリに対する共有アクションを表示させることができます。
2. Today
ホーム画面の最左にあるウィジェットからアプリの操作を可能にします。
3. Photo Editing
写真アプリにて、自作のフィルターや編集ツールを利用可能にします。写真・ビデオ編集画面の右上にある3点リーダをタップすると、以下のように編集オプションのアクションシートが表示されます。ここから利用可能にできるExtensionです。
このExtensionを実装しているアプリは、写真アプリ内で様々な編集機能を提供することができます。例えばDarkroomのiOSアプリは、フィルターや調整だけでなく、枠の追加なども行える非常に便利なExtensionを提供しています。
4. Custom Keyboard
システムキーボードを自作のキーボードで置き換えることができます。例えばGboardはキーボードの背景をカスタマイズしたり、GIF画像を直接送れたりする機能を提供しています。
5. Actions
他のアプリにて提供されたコンテンツを変換したり異なるフォーマットで閲覧したりすることができます。下の方にある “Markup” や “Print” などがこれに該当します。
6. File Provider
iOS純正のファイルアプリからアプリで管理されているコンテンツにアクセスすることができます。以下のスクリーンショットはファイルアプリのものですが、Google DriveやDropBoxのファイルも閲覧できています。ここから名前の変更や移動などもできます。
他のアプリからは、UIDocumentBrowserViewControllerもしくはUIDocumentPickerViewControllerからアクセスすることができます。
7. Document Provider
他のアプリから自身のアプリが管理しているドキュメントへのアクセスを可能にします。純正のPagesアプリ内の「場所」タブに表示されているGoogle DriveやWorking Copyなどがこの拡張機能を実装しています。
例えばこのPagesアプリから、Google Driveアプリに対してファイルを作成することができます。この時、Pagesアプリのエディタを利用してファイルを作成しますが、保存先はGoogle Driveアプリになります。
8. Audio
GarageBandのようなAudio Unitホストアプリに対して、オーディオエフェクトやサウンドジェネレータ、楽器などを提供することができます。
以上がiOSアプリで扱うことのできるApp Extensionです。よく目にするShareやToday以外にも、様々なExtensionが外部からのアプリ利用を可能にします。特にPhoto EditingやDocument Providerなどは、アプリの用途と合えば非常に便利な機能をユーザに提供できそうですね。
参考文献