Элементы, не соответствующие обеспечению - PullRequest
3 голосов
/ 08 марта 2012

В последнее время у меня возникли проблемы с развертыванием собственных приложений (корпоративная программа для разработчиков) с сообщениями о том, что некоторые значения прав не были указаны в профиле обеспечения.Я начал изучать проблему и обнаружил, что, конечно, значения не совпадают:

Содержимое файла .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 с этими значениями просто для того, чтобы порадовать установщика, или есть менее хакерский способ решения этой проблемы?И что более важно, почему это происходит только с некоторыми сборками моего приложения?(Некоторые другие сборки в порядке)

Любые другие советы о том, как решить и / или избежать этой проблемы?

Я уже пробовал обычных подозреваемых: удаление всех профилей, воссоздание профилей, повторноезагрузка сертификата и т.д ...

Спасибо!

Ответы [ 3 ]

1 голос
/ 16 марта 2012

Я заметил, что я не использовал профиль обеспечения разработки для этого конкретного приложения, я использовал профиль команды, сгенерированный Xcode. Я сделал снимок при создании профиля разработки, а затем он исправился.

0 голосов
/ 20 ноября 2013

Это может произойти, если при выполнении сборки выпуска Xcode решит использовать профиль обеспечения с подстановочными знаками.

Даже если вы продолжаете выбирать правильный профиль обеспечения в Xcode Organizer, когда вы нажимаете Distribute… кнопка Xcode вызывает xcrun PackageApplication, которая встраивает профиль обеспечения в ваше приложение и затем отказывается от него.Он также очень аккуратно копирует исходные неправильные разрешения, такие как префикс идентификатора приложения, право доступа APN, полученные из неправильного профиля обеспечения, в ваш новый IPA.Скорее всего, это не удастся установить.

Я не уверен, почему это происходит, возможно, потому что не все разрешения получены из профилей обеспечения.

0 голосов
/ 08 марта 2012

Убедитесь, что если вы не используете iCloud, в вашем профиле обеспечения на странице разработчика Apple не включен iCloud.Если это так, отключите iCloud, загрузите новый сгенерированный профиль и повторите попытку.У меня была похожая проблема несколько недель назад.

...