私の場合、プロビジョニングプロファイルの内容は次のとおりです。
security cms -D -i ~/Downloads/spolskyDevelop.mobileprovision
...
<key>application-identifier</key>
<string>P5GM95Q9VV.com.dca.spolsky</string>
<key>aps-environment</key>
<string>development</string>
実際にビルドされたアプリのものとは異なりました(Xcodeの[ログ]タブを見ると、どこにビルドされているかがわかります)
codesign -d --entitlements - '/Users/drew/Library/Developer/Xcode/DerivedData/spolsky-bdbtdfjeeywhqzccpmmceqvnhgtm/Build/Products/Debug-iphoneos/spolsky-ios.app'
<dict>
<key>application-identifier</key>
<string>Y2X6Z7Z2GR.com.dca.spolsky-ios</string>
<key>get-task-allow</key>
<true/>
<key>keychain-access-groups</key>
<array>
<string>Y2X6Z7Z2GR.com.dca.spolsky-ios</string>
</array>
</dict>
これは、Code Signing Identityの下の「CurrentlyMatches」ヒントテキストが正しいプロビジョニングプロファイルを示していたとしても当てはまりました。奇妙ですね。奇妙な話をさらに奇妙にするために、実行時に正しいプロビジョニングプロファイルがデバイスにインストールされていたため([設定]-> [一般]-> [プロファイル])、プロビジョニングプロファイルが正しいと思われましたが、ワイルドカードIDにフォールバックしていましたアプリが実際に起動されたとき。
手がかりは、これら2つのコマンドの出力の違いでした。
Y2X6Z7Z2GR.com.dca。spolsky -ios vs P5GM95Q9VV.com.dca。スポルスキー
太字の部分を一致させると、斜体の部分が自動的に一致するように変更されました。さらに、セキュリティとコードサインの出力は一致しており、aps-entitlementエラーは発生していません。
ここでの私の推測では、XCodeはワイルドカード以外のIDでワイルドカードスタイルの一致を使用していました。(「spolsky」は、結局のところ、「spolsky-ios」に非常に近いです)、これは「CurrentlyMatches」の出力を説明しています。ただし、ビルドチェーン内の何かがこれについてより厳密であるため、ビルド中に実際のワイルドカードIDにフォールバックします。