Разрешение приложения несоответствие префикса ID
Q: Как я диагностирую и разрешаю Приложение несоответствие Префикса ID?
A: Приложение Префикс ID на подписи приложения должен соответствовать Приложению Префикс ID в приложении, встроило профиль настройки. Приложение, префикс которого не соответствует через его подпись и встроенный профиль, приведет проверку к сбою для представления и также не установит при устройствах на iOS предприятия или тестировании.
Этот документ показывает, как диагностировать и разрешить Приложение несоответствие Префикса ID.
Диагноз
Существует две фазы подписывания кода, вовлеченные в распределение приложения и Приложения, которое должен соответствовать Префикс ID Профилей Настройки, используемых в обеих фазах. Если они не сделают, то это вызовет Приложение несоответствие Префикса ID. Самый простой способ удовлетворить требование состоит в том, чтобы удостовериться, что тот же профиль используется в обеих фазах.
Приложение в качестве примера Префикс ID показано ниже. Это - префикс с 10 символами Приложения ID, связанный с Профилем Настройки. Таким образом для Приложения ID:
A1B2C3D4E5.com.myCompany.myApp1 |
Приложение Префикс ID:
A1B2C3D4E5 |
Для диагностирования Приложения несоответствие Префикса ID Вы будете сравнивать префиксы через два расположения в созданном приложении. Те расположения пронумерованы ниже.
Проверьте Приложение Префикс ID на подписи приложения с помощью шагов в том, Как я проверяю права на Подписи своего Приложения?.
Права перечисления 1 В качестве примера на подписи приложения.
$ codesign -d --entitlements :- ./Payload/myApp.app
Executable=./Payload/myApp.app/myApp
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>application-identifier</key>
<string>5E4D3C2B1A.com.myCompany.myApp1</string>
<key>com.apple.developer.team-identifier</key>
<string>5E4D3C2B1A</string>
<key>get-task-allow</key>
<false/>
<key>keychain-access-groups</key>
<array>
<string>5E4D3C2B1A.com.myCompany.myApp1</string>
</array>
</dict>
</plist>
Проверьте Приложение Префикс ID во встроенный профиль приложения с помощью шагов в: Как я проверяю права, связанные с моим Профилем Настройки? Используйте шаги во второй половине раздела, говорящие о встроенном профиле приложения.
Права перечисления 2 В качестве примера, связанные с приложением, встроили профиль настройки.
$ security cms -D -i "./Payload/myApp.app/embedded.mobileprovision"
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
...
<key>Entitlements</key>
<dict>
<key>com.apple.developer.team-identifier</key>
<string>5E4D3C2B1A</string>
<key>keychain-access-groups</key>
<array>
<string>A1B2C3D4E5.com.myCompany.*</string>
</array>
<key>application-identifier</key>
<string>A1B2C3D4E5.com.myCompany.*</string>
<key>get-task-allow</key>
<false/>
</dict>
<key>ExpirationDate</key>
<date>2015-08-13T14:59:38Z</date>
<key>Name</key>
<string>Distribution Provisioning Profile</string>
<key>TeamIdentifier</key>
<array>
<string>5E4D3C2B1A</string>
</array>
<key>TeamName</key>
<string>Appleseed Corp.</string>
<key>TimeToLive</key>
<integer>364</integer>
<key>UUID</key>
<string>7156a539-3c66-41f5-a0b5-49c3456659d7</string>
<key>Version</key>
<integer>1</integer>
</dict>
Несоответствие в вышеупомянутом примере может быть замечено путем сравнения префикса с 10 символами application-identifier право. Это - Приложение Префикс ID. Префикс на подписи приложения 5E4D3C2B1A не соответствует префикс на встроенном профиле приложения A1B2C3D4E5.
Разрешение
Существует две фазы подписывания кода, вовлеченные в распределение приложения и Приложения, которое должен соответствовать Префикс ID обоих профилей, используемых в тех фазах.
Самый простой способ удовлетворить это требование состоит в том, чтобы использовать тот же профиль в обеих фазах подписания:
Откройте проект XCode Target> Настройки Сборки и разверните Идентификационные данные Подписывания кода и Настраивающий настройки сборки Профиля. Набор “Любой iOS SDK” к “Распределению iOS” для Выпуска.
Установите установку сборки Профиля Настройки в свой профиль настройки распределения.
Повторно заархивируйте приложение (через XCode> меню продукта> Архив).
Повторно представьте приложение через Организатора XCode, и убеждаться выбрать тот же профиль распределения для подписания представления.
История версии документа
| Дата | Примечания |
|---|---|
| 10.09.2014 | Новый документ, обходящий посредством процесса диагностирования и разрешения Приложения несоответствие Префикса ID. |