Как установить предпочтение идентификации в связке ключей, которое будет использоваться XCode?

XCode имеет «Автоматический выбор профиля» в разделе «Идентификация подписи кода» в «Настройках сборки».

Наличие двух сертификатов «iPhone Developer» в связке ключей не похоже на то, что есть способ управлять предпочтением XCode одного над другим.

Codesign перечисляет следующее правила определения идентичностей.

  1. Идентификатор сначала рассматривается как полное имя предпочтения идентификатора связки ключей.

  2. Идентификатор определяется путем поиска во всех цепочках ключей сертификата, общее имя субъекта (только) которого содержит идентификатор.

    • If there are multiple matches, the operation fails and no signing is performed
  3. Если идентификатор состоит из сорока шестнадцатеричных цифр, он интерпретируется как хэш SHA-1.

Тот факт, что в «iPhone Developer» есть 2 частичных совпадения, предполагает, что XCode имеет другой способ определения идентификаторов.

Пытался создать настройку идентификации для сертификата, который предлагает ввести «Местоположение (URL) или адрес электронной почты». Не уверен, на что должен ссылаться URL-адрес или адрес электронной почты.

Вместо этого использовалось значение «iPhone Developer» (связка ключей успешно принята), но XCode не выбирает предпочтительный сертификат.

Есть ли способ использовать «Автоматический выбор профиля», чтобы решить эту проблему в «Предпочтении личности»?


person qnoid    schedule 22.05.2012    source источник


Ответы (1)


Думаю, сейчас уже слишком поздно, но в Xcode 9, в "Build Settings" -> "Code Signing Identity", с "Code Signing Style"=Manual/Auto, теперь есть два раскрывающихся списка, из которых вы можете выбрать для обеих целей: a) один из типов профиля iOS Developer / Distribution, b) KeyChains айдентика разработчика / дистрибьютора.

Что сработало для меня:

  1. использовать один или два разных профиля подготовки для отладки и выпуска (созданные и экспортированные с веб-сайта моей учетной записи разработчика и импортированные в Xcode)
  2. установите "Code Signing Style" на "Manual"
  3. выберите импортированные PP для двух целей
  4. установите списки a) и b) для идентификатора разработчика / дистрибьютора, чей сертификат был включен в PP, созданный в 1)

Теперь я могу запустить цель отладки в обычном режиме из Xcode с помощью кнопки «Выполнить», и в то же время заархивировать и экспортировать цель выпуска с помощью PP распространения.

person PJ_Finnegan    schedule 19.01.2018