Ошибка при указании PROVISIONING_PROFILE с использованием командной строки xcodebuild - PullRequest
5 голосов
/ 02 декабря 2011

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

В настоящее время я выполняю:

xcodebuild -target "#{XTARGET}" -sdk iphoneos#{SDK_VERSION} -configuration #{config} CODE_SIGN_IDENTITY="#{DEVELOPER}"

Если в настройках сборки Xcode установлено значение «не кодировать знак», это работает отлично.Но если для него задана идентичность, отличная от той, которую я указываю как DEVELOPER, произойдет сбой.Обратите внимание, что я не хочу открывать Xcode для создания сборки с помощью этого скрипта.Но в настоящее время я должен убедиться, что в настройках сборки написано "не используйте кодовый знак".

Я думаю, что мне нужно найти способ также указать профиль обеспечения с помощью xcodebuild, но когда я пишу:

xcodebuild -target "#{XTARGET}" -sdk iphoneos#{SDK_VERSION} -configuration #{config} CODE_SIGN_IDENTITY="#{DEVELOPER}" PROVISIONING_PROFILE="#{PROFILE}"

Команда не выполняется и говорит, что профиль обеспечения не может быть найден.Хотя это в нужном месте.Я попытался указать полный путь, относительный путь, только имя файла.Это работает, когда я указываю этот профиль в команде xcrun.Но с xcodebuild это не идет.

Есть идеи?

1 Ответ

8 голосов
/ 11 февраля 2012

Не уверен, что вы нашли ответ, но я узнал так: есть уникальный идентификатор для локального (для вашей машины) профиля обеспечения, который вы можете передать в настройку PROVISIONING_PROFILE. Вы можете найти эту строку, если откроете XCode, выберите свой кодовый знак под «Code Signing» (в настройках сборки). После выбора значения подписи кода (связанного с вашим профилем обеспечения) во всплывающем окне подписи кода, если вы выберете «Другое ...», будет показано что-то вроде:

iPhone Распространение: ABCDEFJ-1234-5678-A382-ABDEWKEKEKE

Если вы возьмете эту вторую строку ('ABCD ...') и вставите ее в команду PROVISIONING_PROFILE в XCode, она должна работать. Тем не менее, я предполагаю, что если вы когда-нибудь обновите свой профиль обеспечения, вам нужно будет определить это значение и обновить то, что вы передаете в Xcode.

...