App Extension

App Extensionを使用すると、アプリの枠を超えてカスタム機能やコンテンツを拡張でき、ユーザーが他のアプリやシステムを操作している間でも、その機能やコンテンツを利用できるようになります。たとえば、アプリをウィジェットとしてホーム画面に表示させたり、アクションシートに新しいボタンを追加したり、写真アプリで利用できる写真フィルタを提供したり、強力なパスワードまたは「Appleサインイン」を使用してユーザーのアカウントを自動的にアップグレードすることなどが可能です。Extensionを使用して、ユーザーが最も必要とする場所でアプリの機能を提供しましょう。

App Extensionの種類

iOS、iPadOS、macOS、tvOS、visionOS、watchOSは複数の種類のExtensionに対応しており、それぞれのExtensionは、共有、通知センター、Safariなど、システム内の単一の特定領域と結び付いています。

Extension 説明 iOS/iPadOS macOS tvOS visionOS watchOS
Action カスタムアクションを共有シートに追加して、他のどのアプリからでもデベロッパのアプリの機能を呼び出せるようにします。
Audio Unit GarageBandやLogic Pro Xといった音楽制作アプリなど、サウンドを用いるアプリ内でオーディオの制作および変更を行います。
Authentication Services シングルサインオンを有効にして、ユーザー認証を簡素化します。
Account Authentication Modification ユーザーのパスワードを強力なパスワードに自動的にアップグレードしたり、「Appleサインイン」を利用するようにアカウントを変換したりします。
AutoFill Credential Provider アプリ内の認証情報をパスワードの自動入力機能に表示し、アプリのパスワードデータをパスワードの自動入力機能のワークフローに組み込みます。
Broadcast Setup UI / Broadcast UI ユーザーの画面をキャプチャして、ビデオ放送サービスにストリーミングします。
Call Directory アプリのカスタム連絡先リストを利用して発信者の情報を表示し、誰からの電話か分かるようにします。
ClassKit Content Provider アプリのアクティビティのステータスを更新して、そのステータスがスクールワークアプリで確認できるようにします。
Content Blocker 要素の非表示、ロードの阻止、SafariリクエストからのCookieの除去に関するルールを定義します。
Custom Keyboard 独自の入力方式や特定の言語のためにカスタマイズしたテキスト入力機能を、システム全体で利用できるようにします。
File Provider アプリで保存および管理されているドキュメントやディレクトリに、他のアプリからアクセスできるようにします。
File Provider UI アプリで管理されているドキュメントに対して、ドキュメントブラウザのコンテキストメニューに表示されるカスタムアクションを追加します。
Finder Sync ファイルをバックエンドのストレージサービスと同期します。
iMessage ユーザーがテキスト、ステッカー、メディアファイル、インタラクティブなメッセージを送信できるようにします。
Intents ユーザーがSiriでアプリとインタラクションできるようにします。
Intents UI Siriとの会話やマップの操作中に、アプリとインタラクションする際のインターフェイスをカスタマイズします。
Location Push Service 位置情報の共有アプリで、ユーザーの同意に基づきApple Push Notification Service(APNs)からのプッシュに応答して位置情報を照会できるようにします。
Mail カスタムアクションの追加、コンテンツのブロック、メッセージの署名とエンコードなどにより、メールアプリを強化します。
Message Filter 不要なSMSやMMSメッセージを識別してフィルタリングします。
Network VPN、プロキシ、コンテンツフィルタなど、システムレベルのネットワーキングサービスを提供します。
Notification Center アプリからの通知の見た目をカスタマイズします。
Notification Service リモート通知のペイロードを、ユーザーのデバイスに表示される前に変更します。
Persistent Token トークンを使用して、ユーザーアカウントとキーチェーンへのアクセス権を付与します。
Photo Editing アプリのアセット編集を写真アプリ内で直接できるようにします。
Photo Project プロジェクト制作に対応したExtensionで、macOSの写真アプリを拡張します。
Quick Look Preview アプリのドキュメントのプレビューを、他のどのアプリからでも表示できるようにします。
Safari Services Webテクノロジーやネイティブコードを活用して、SafariのWebブラウジング体験を拡張します。
Share ユーザーがどのアプリからでもデベロッパが提供するSNSに投稿できるようにします。
Smart Card Token ハードウェアベースのトークンを使用して、ユーザーアカウントとキーチェーンへのアクセス権を付与します。
Spotlight Import Spotlight、Safari、Siriなどで、アプリのコンテンツを検索できるようにします。
Sticker Pack メッセージアプリにカスタムステッカーを追加します。
Thumbnail カスタムのドキュメントタイプのサムネイルを、すべてのアプリに表示します。
TV Top Shelf トップシェルフのコンテンツとtvOSアプリの説明を表示して、ユーザーにアプリを見つけてもらいやすくします。
Unwanted Communication 迷惑電話の発信者に関するアプリ内のカスタムデータベースを使用して、着信をブロックします。
Virtual Conference ビデオ会議サービスをユーザーのカレンダーイベントに直接組み込みます。
Widgets iOSのホーム画面やロック画面、macOSの通知センター、およびwatchOSのコンプリケーションに、アプリ内の関連性が高いコンテンツを一目でわかる形で表示します。
Xcode Source Editor カスタムの編集機能を、Xcodeのソースエディタ内で直接利用できるようにします。

ツールとリソース

Xcodeや以下のリソースを活用して、App Extensionを構築しましょう。

Xcodeをダウンロードする