В моем случае данные в моем профиле обеспечения:
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 Logs)
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>
Это было правдой, даже несмотря на то, что текст подсказки «В настоящее время соответствует» в разделе «Идентификация подписи кода» указывал на правильный профиль обеспечения - странно, да? Чтобы сделать странную историю еще более странной, правильный профиль обеспечения был установлен на устройстве, когда я запускал (Настройки-> Общие-> Профили), что заставило меня поверить, что профиль обеспечения был правильным, но он возвращался к идентификатору подстановочного знака когда приложение было фактически запущено .
Подсказкой была разница в выводе этих двух команд:
Y2X6Z7Z2GR .com.dca. spolsky-ios против P5GM95Q9VV .com.dca. Spolsky
Когда я установил соответствие выделенной жирным шрифтом части, выделенная курсивом часть изменилась, чтобы соответствовать автоматически. Кроме того, вывод безопасности и кодового обозначения были согласованы, и больше никаких ошибок в отношении aps-прав.
Я предполагаю, что XCode использовал совпадение в стиле подстановочного знака для моего идентификатора без подстановочного знака. («spolsky», в конце концов, почти «spolsky-ios»), и это объясняет вывод «Current Matches». Но что-то в цепочке сборки более строгое в отношении этого, поэтому во время сборки он возвращается к фактическому идентификатору подстановки .