2015-04-23 2 views
17

Я использую динамические структуры iOS8, которые я сам создаю и связываю в своем приложении iOS. Он работал отлично на тренажере и на устройстве, но при попытке архивировать сборки Release для него, я получаю эту ошибку:iOS8 Dynamic Frameworks -> Ошибка CodeSign: требуется подписание кода для типа продукта «Framework» в SDK «iOS 8.3»

Code Sign error: No matching provisioning profiles found: None of the valid provisioning profiles allowed the specified entitlements: com.apple.developer.ubiquity-kvstore-identifier, keychain-access-groups, com.apple.developer.icloud-container-identifiers, com.apple.developer.icloud-services, com.apple.security.application-groups, com.apple.developer.ubiquity-container-identifiers. CodeSign error: code signing is required for product type 'Framework' in SDK 'iOS 8.3'

в пределах целевого приложения -> Build Phases -> Встраивание Каркасы -> рамки, и установлен флажок «Кодовый знак при копировании».

В рамках цели -> Build Settings -> Я поставил Provisioning Профиля «Автоматически», и код Войдите идентичности, под Выпуском, я использую «IOS Distribution»

У меня есть 3 различных целевые приложения которые должны скомпилировать эту Рамочную основу.

Я запутался:

  • делает рамки нужно это собственный AppID зарегистрирован в Центре разработчиков?

  • Нужна ли рамке собственный профиль Provisioning Profile?

  • Может ли каркас использовать один и тот же файл прав с целевой точки приложения iOS?

Спасибо.

ответ

11

У меня была такая же проблема, но фиксировано его:

Настройка команды до Ни на вкладке Общие целевых параметров.

Изменение этого значения также приводит к сбросу параметров подписи кода в настройках сборки, к «iOS Developer» для отладки и выпуска. Если он не изменит эти параметры самостоятельно.

Теперь я могу построить свою инфраструктуру без ошибок.

Недавно построенный каркас можно проверить для подписания, введя codeign --display --verbose = 4 FRAMEWORK_PATH в терминал.

Этот инструмент должен возвращать: код объекта не подписан на всех

6

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

Я столкнулся с этой проблемой со вторым приложением, которое я пытался настроить для сборки, и я смог его решить, изменив подписание для моей фреймворк, чтобы использовать автоматические настройки вместо «Do not Code Sign» («Не вводить код») iOS Developer identity/Automatic profile). Это приводит к тому, что ошибка исчезает, и структура по-прежнему кажется скомпрометированной во время архива, как и следовало ожидать. Похоже, что некоторые настройки сборки требуются, даже если они просто уйдут в отставку.

РЕДАКТИРОВАТЬ: Следует отметить, что после того, как вы установите его в автоматическом режиме, вы также должны установить профиль обеспечения, который подходит для идентификатора пакета, установленного для создаваемых целей (достаточно создать профиль разработки подстановочных знаков).