2016-09-20 5 views
0

Мой проект iOS имеет встроенную инфраструктуру. Я пытаюсь построить его на Bitrise, но он терпит неудачу, потому что он пытается кодировать эту фреймворк с тем же профилем подготовки, что и фактический проект.Bitrise пытается подписать код встроенной структуры с неправильным профилем подготовки

Это ошибка производит (разделить на отдельные строки для удобства чтения):

❌ Code Sign error: Provisioning profile does not match bundle identifier: 
The provisioning profile specified in your build settings 
(“Profile Name”) has an AppID of “com.example.mainidentity” 
which does not match your bundle identifier 
“com.example.frameworkidentity”. 

Я пробовал с код Force подписания с Provisioning Профиль с код Force подписания с Идентичность, без каких-либо и различных других перестановок. Изменение Идентификатор подписи кода от Разработчик iOS до Не вводите код в настройках сборки. Etc.

Я оставил код Зарегистрированным Копияна в нарастании Этапов основного проекта.

Ничто не работает.

Я понимаю, что встроенная инфраструктура должна просто подписываться с идентификатором разработчика iOS при архивировании проекта.

-

прекрасный архив проекта на моей локальной машине.

Окружающая среда & информация:

Использование рабочего пространства, встроенный каркас действительно имеет это собственные стручки, как это делает главный проект.

Я использую Xcode 7.3 на OS X 10.11.6

профиль обеспечения является IOS UniversalDistribution типа один.

Рабочий процесс Bitrise использует:

  • сертификата и профиля инсталлятор - 1.7.0

  • Xcode: Создать архив - 1.9.2

Если какая-либо другая информация является необходимо или что-то нужно уточнить, дайте мне знать!

спасибо !!

ответ

2

В этом случае вы не должны использовать «Подписание силового кода с профилем Provisioning Profile», так как это (это просто вариант, переданный Xcode) заставит использовать определенный профиль для каждой части проекта!

Вы можете найти более подробную информацию здесь: https://bitrise-io.github.io/devcenter/ios/code-signing/#full-manual-full-control

TL; DR; не используйте полный идентификатор профиля Provisioning, скорее используйте «Force Identity», если вам действительно нужно (и, возможно, просто категория для Force Prov Profile, например «iPhone Distribution»), Xcode определит, какой профиль использовать на основе идентификаторы идентификаторов и идентификаторов пакетов и т. д.

Это означает, что с Xcode 7 рекомендуется использовать «Export Options Plist», а в Xcode 8, если вы выберете автоматическую подпись кода, это ваш единственный вариант. Короче говоря, рекомендуемым способом является первоначальное подписание с подписями кода разработки, а затем указать «метод экспорта» для Xcode (в случае Bitrise это опция шага Xcode Archive). Единственное, что следует отметить здесь, это то, что вам нужны как разработки , так и дистрибьюторских сертификатов & профилей, которые будут доступны. Но как только вы это сделаете, выбор правильного для распространения так же просто, как установка опции «экспорт» (шаг Xcode Archive) на тип, который вы хотите использовать (например, ad-hoc или app-store).

Подробнее: https://bitrise-io.github.io/devcenter/ios/code-signing/#using-export-options-available-for-xcode-7-and-xcode-archive-step-v191

PS: если вы хотите перейти на новые варианты подписания кода вы должны сбросить входы, которые ранее заданные - вероятно, самый быстрый способ, если вы используете веб-интерфейс, является удалите шаг архива Xcode, а затем добавьте новый в одно и то же место.

+1

Спасибо, Виктор. Это сработало отлично :) –

Смежные вопросы