Ошибка при указании PROVISIONING_PROFILE с помощью командной строки xcodebuild

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

Я сейчас делаю:

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

Если в настройках сборки Xcode установлено значение «не подписывать код», это работает отлично. Но если для него установлено удостоверение, отличное от того, которое я указываю как РАЗРАБОТЧИК, произойдет сбой. Обратите внимание, что я не хочу открывать Xcode для создания сборки с помощью этого скрипта. Но в настоящее время я должен убедиться, что в настройках сборки указано «не подписывать код».

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

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

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

Любые идеи?


person Alfie Hanssen    schedule 01.12.2011    source источник


Ответы (1)


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

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

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

person too_early    schedule 11.02.2012
comment
Кристофер, большое спасибо за публикацию этого. Я думаю, что это ключ к проблеме. И поскольку я автоматизирую установку профиля, я также могу автоматизировать извлечение этого буквенно-цифрового идентификатора на лету. Спасибо! - person Alfie Hanssen; 27.02.2012
comment
Я пытаюсь автоматизировать передачу предоставленного Git профиля распространения в Xcode и не могу никак сообщить Xcode: сохраните этот файл, как если бы я перетащил его в Организатор и дал мне его идентификатор. Кто-нибудь знает, как это сделать? - person Dirty Henry; 28.08.2012