バックエンドサービスをプライベートフレームワークに移動し、アプリとApp Extensionがサービスを使用できるようにします。
概要
App Extensionはアプリの代理としてふるまうエージェントで、依頼に応じてサービスや情報をシステムに提供します。App Extensionはアプリの動作を拡張するので、アプリが使用するのと同じバックエンドサービスやデータにアクセスする必要がしばしば生じます。
アプリとApp Extensionがサービスを共有する場合は、以下のようにコードを構成することを検討してください。
-
中核となるサービスを、プライベート共有フレームワーク内に実装する。プライベート共有フレームワークを使うことで、サービスにアクセスするためのコードを1つのコードモジュール内に配置し、そのコードを複数のターゲットから使用できます。共有フレームワークによって、両方の実行形式ファイルの容量を最小限にできるだけでなく、両方の実行形式ファイルが同じコードパスを使うのでテストが容易になります。
-
共通に用いるリソースを共有コンテナに収容する。アプリとApp Extensionが使用できるように、関連する画像ファイルおよびデータファイルを共有コンテナに収容します。各ターゲットの「Capabilities」タブで、共有コンテナのサポートを有効化してください。