Вопрос: Идентификаторы подписи кода, не найденные на сервере Xcode


Использование Xcode 7B4 и Server 5B4 с Карфаген  проект. Чтобы построить проект, мне нужно сначала построить его зависимости. Поэтому я добавил шаг до интеграции с ботом со следующим кодом:

echo "Bootstrapping dependencies..."
export PATH=$PATH:/usr/local/bin
cd Alchemic
carthage bootstrap --use-ssh --use-submodules
echo "Ready."

Выполняя это, все работает. Но когда бот бежит, я получаю

Code Sign error: No code signing identities found: No valid signing identities (i.e. certificate and private key pair) were found.
CodeSign error: code signing is required for product type 'Framework' in SDK 'iOS 9.0'
A shell task failed with exit code 65

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

Кто-нибудь знает, что я могу потерять?


6


источник


Ответы:


У меня была аналогичная проблема. Решение для меня было:

  1. Из Xcode на вашей локальной машине , открытый Preferences -> Accounts -> дважды щелкните по команде, связанной с вашим яблочным идентификатором (вам нужно :) :) -> в Signing identity панели, выберите идентификатор и щелкните значок cog export, Сохраните это в файл.
  2. Загрузить сгенерированный .p12 файл к вашей машине для сборки , и добавьте его в система  брелок (не для пользователя), перетащив его на Доступ к брелкам  окно
  3. На строительной машине Доступ к брелкам , перейдите к сертификату (-ам), который вы только что установили (он должен находиться под System -> Certificates) и щелкните стрелку рядом с именем, чтобы развернуть его, и посмотрите на закрытый ключ. Щелкните правой кнопкой мыши по клавише -> Get info -> Access control вкладку и разрешить всем приложениям доступ к этому элементу (вероятно, небезопасно) или добавить codesign приложение к списку приложений, которым разрешено использовать этот ключ
  4. Убедитесь, что сервер  на машине сборки, чтобы XCode раздел включен и добавлен в соответствующую команду разработчиков для этого сертификата.

12



Я столкнулся с аналогичными проблемами с ботами Xcode Server и подписанием кода. Я запускаю Server 5.1 и Xcode 7.3. Что в конечном итоге помогло мне работать через них, было это сообщение в блоге: http://matt.vlasach.com/xcode-bots-hosted-git-repositories-and-automated-testflight-builds/

А именно, части сообщения наиболее полезны:

  1. Убедитесь, что профили подготовки копируются в каталог сервера Xcode, расположенный по адресу: /Library/Developer/XcodeServer/ProvisioningProfiles/ Xcode Server не может видеть профили, которые Xcode автоматически загружает с портала разработчика на ~/Library/MobileDevice/Provisioning Profiles, Вы можете либо скопировать их на место, либо вручную загрузить их из Интернета и переместить их.
  2. Убедитесь, что ключ подписи (закрытый ключ) и сертификат находятся в система  Брелок. Опять же, Xcode создает их в контексте вашей учетной записи пользователя. Если вы сгенерировали их с помощью Xcode на сервере, просто скопируйте их из своего авторизоваться  брелок для система  один. Если вы импортируете с другого компьютера с помощью .p12, убедитесь, что вы импортируете его в система  брелок в доступе к цепочке ключей.

Для получения более подробной информации ознакомьтесь с этим сообщением в блоге. Это действительно помогло мне.


1



Это очень просто. Перейдите к настройкам XCode -> Учетные записи -> Нажмите кнопку Apple ID и нажмите кнопку «Просмотр сведений». Нажмите «Обновить» в конце нажмите «Готово». Все будет хорошо. enter image description here


-2