3

最近、アプリケーションを社内 (エンタープライズ開発者プログラム) に展開する際に問題が発生し、一部の資格値がプロビジョニング プロファイルで指定されたものではないという報告がありました。私はこの問題を調査し始めましたが、もちろん、値が一致していないことがわかりました。

.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 を作成する必要がありますか?それとも、これを解決するためのハックの少ない方法はありますか? さらに重要なことに、これがアプリの一部のビルドでのみ発生するのはなぜですか? (他のいくつかのビルドは問題ありません)

この問題を解決および/または回避する方法に関する他のヒントはありますか?

すべてのプロファイルの削除、プロファイルの再作成、証明書の再ダウンロードなど、通常の容疑者はすでに試しました...

ありがとう!

4

3 に答える 3

1

私が気付いたのは、その特定のアプリの開発プロビジョニングプロファイルを使用しておらず、Xcodeによって生成されたチームプロファイルを使用していたことです。開発プロファイルの作成を試してみたところ、修正されました。

于 2012-03-16T02:56:25.607 に答える
0

iCloud を使用していない場合は、Apple 開発者ページのプロビジョニング プロファイルで iCloud が有効になっていないことを確認してください。
その場合は、iCloud を無効にし、新しく生成されたプロファイルをダウンロードして、もう一度試してください。数週間前にかなり似たような問題がありました。

于 2012-03-08T16:56:28.947 に答える