У моєму випадку вміст у моєму профілі забезпечення:
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>
Це було правдою, навіть незважаючи на те, що текст підказки "На даний момент відповідає" в розділі Identity Code Signing Identity вказував на правильний профіль підготовки - дивно, так? Щоб зробити дивну історію дивнішою, на моєму пристрої на пристрої встановлювався правильний профіль підготовки (Налаштування-> Загальні-> Профілі), що наводило мене на думку, що профіль підготовки був правильним - але він повертався до підстановочного ідентифікатора коли програма фактично була запущена .
Підказкою була різниця у результатах цих двох команд:
Y2X6Z7Z2GR .com.dca. spolsky-ios проти P5GM95Q9VV .com.dca. спольський
Коли я збігав жирну частину, курсив змінився на автоматичну відповідність. Крім того, результати безпеки та кодовий дизайн були узгоджені, і більше не виникало помилок aps-assignment.
Я припускаю, що XCode використовував збіг у стилі підстановки на моєму ідентифікаторі, що не підстановлював. ("spolsky", зрештою, майже майже "spolsky-ios"), і це пояснює результат "На даний момент відповідає". Але щось у ланцюжку збірки щодо цього є більш суворим, тому під час збірки воно повертається до фактичного ідентифікатора підстановки .