IOS 8拡張機能を起動していますが、デバイスで実行できません。実行しようとしたときのエラーは次のとおりです。
一致するプロビジョニングプロファイルが見つかりません
ビルド設定(「ExtensionName」)で指定されたプロビジョニングプロファイルのAppIDはnet.company.AppName
バンドル識別子と一致しませんnet.company.AppName.ExtensionName
。 Xcodeは、Member Centerから新しいプロビジョニングプロファイルをダウンロードすることでこの問題を解決できます。
Xcodeはそのような方法を好むように見えますが、アドホックまたはApp Storeへのリリースを行うまで、ワイルドカードプロファイルの使用を妨げるものは何もありません。しかし、質問のポイントまで、あなたが持っているすべてのターゲットには、プロファイルとバンドルIDが必要です。そうです、あなたはあなたの拡張機能に別のプロビジョニングプロファイルを「必要」としますが、私はAppleこのプロセスを合理化することを期待しています。
全体として、プロビジョニングプロファイルが必要になるまでは、WildCard開発者プロファイルを使用することをお勧めします。これはすべてベータ版であり、彼らはまだほとんどすべてに取り組んでいることを忘れないでください。
App Extensions に関するこのドキュメントを見つけました。 20ページの最後を読んだ場合、同じ配布証明書を使用することが実際に提案されているように思えます。先に進み、Today Extensionのバンドル識別子を変更して、アプリケーションを拡張しました。例えば、 com.DeveloperName.AppName.TodayExtension
、それに対応するアプリIDを 開発センター に作成し、そのための配布プロファイルを作成しました。私のアプリ + Quotes は、次の手順に従って正常に更新されました。アプリや拡張機能に関する問題は発生していませんが、拡張機能に正しいプロビジョニングプロファイルを自動で割り当てようとすると、Xcodeが少し混乱するようです。それらを手動で選択すると、これが解決します。
拡張機能は、ホストアプリとは別のターゲットです。それらは、異なるバンドル識別子と異なるプロビジョニングプロファイルを持つ別個のアプリであるかのように扱う必要があります。
拡張機能とホストアプリが同じコンテナーにアクセスできるように、有効化した機能(たとえば、App Group)をテストする必要がある場合があるため、ワイルドカードを使用するのではなく、テスト中に作成するのが最適です。
ホストアプリと拡張機能で機能を有効にしたい場合は、すべての機能を個別に有効にする必要があります。
App Storeにプッシュする必要があるまで、「サインインの自動管理」を使用するだけです。これは、シミュレータですぐに使用できますが、まだデバイスで試していません。
Appstoreビルドのいくつかのポインター: