最近、アプリケーションを社内 (エンタープライズ開発者プログラム) に展開する際に問題が発生し、一部の資格値がプロビジョニング プロファイルで指定されたものではないという報告がありました。私はこの問題を調査し始めましたが、もちろん、値が一致していないことがわかりました。
.mobileprovision ファイルの内容: (を実行して抽出したものsecurity cms -D -i <mobileprovision file>
)
<key>application-identifier</key>
<string>M7X5D8MA6U.some.masked.Identifier</string>
<key>com.apple.developer.ubiquity-container-identifiers</key>
<array>
<string>KNHHJPPHR7.*</string>
</array>
<key>com.apple.developer.ubiquity-kvstore-identifier</key>
<string>KNHHJPPHR7.*</string>
<key>get-task-allow</key>
<false/>
<key>keychain-access-groups</key>
<array>
<string>M7X5D8MA6U.*</string>
</array>
そして資格は(実行中の抽出としてcodesign -d --entitlements - <app bundle>
:)
<key>application-identifier</key>
<string>5R678HMG35.some.masked.Identifier</string>
<key>get-task-allow</key>
<false/>
<key>keychain-access-groups</key>
<array>
<string>5R678HMG35.some.masked.Identifier</string>
</array>
プロジェクトでエンタイトルメント ファイルを指定しておらず、mobileprovision ファイルはポータルから新たにダウンロードされました。
インストーラーを満足させるためだけに、これらの値を使用して Entitlements.plist を作成する必要がありますか?それとも、これを解決するためのハックの少ない方法はありますか? さらに重要なことに、これがアプリの一部のビルドでのみ発生するのはなぜですか? (他のいくつかのビルドは問題ありません)
この問題を解決および/または回避する方法に関する他のヒントはありますか?
すべてのプロファイルの削除、プロファイルの再作成、証明書の再ダウンロードなど、通常の容疑者はすでに試しました...
ありがとう!