2014-01-14 4 views
0

TLDR; Вопрос: Есть ли способ подготовить XArchive, чтобы потом они могли сами назначить профиль подготовки и подписать с помощью соответствующего сертификата распространения?Подготовка неподписанного Xcarchive

Долгосрочный вопрос: Мой клиент отправил мне профиль обеспечения для приложения, которое я разрабатываю для них. Они не хотят отправлять мне свой сертификат распространения (файл .p12).

инструкции они дали мне следующим образом:

  1. Загрузить профиль обеспечения на вашу систему
  2. В вашем проекте, выберите профиль обеспечения под приобретаемой компании «Build Settings» в рамках «Provisioning Profile "раздел
  3. не выбирайте код подписи Удостоверение
  4. Run, Product-> Архив
  5. Выберите„Экспорт в XCode архиве“когда дано т он вариант Распределить

Проблема заключается в том, при выполнении шага 4, я получаю следующее сообщение об ошибке:

CodeSign error: code signing is required for product type 'Application' in SDK 'iOS 7.0' 

Их мысль они CodeSign приложение на их стороне (таким образом, защищая их сертификат). Есть ли способ сделать это?

+1

Erm..well yes..you не может закодировать знак сборки сборки без сертификата распространения. Если у вас нет доступа к своей учетной записи iTunes dev, чтобы создать свою собственную, они должны предоставить ее. – GuybrushThreepwood

ответ

3

был в состоянии сделать это, используя следующую методику:

  1. Создать учетную в доме распределения файла инициализации через developer.apple.com
  2. Выберите любой AppID будет ассоциироваться с этим профилем (или подстановочные один)
  3. Выберите A распределения сертификата включить в профиле
  4. Установите сертификат и инициализацию Profil e на вашем компьютере, загрузив их и дважды щелкнув по ним (или используя XCode 5, вы можете это сделать через панель настроек учетных записей путем обновления)
  5. Самое важное: Создайте файл «Entitlements.plist» в вашем проекте, назначьте его в группу «Поддерживающие файлы» для хорошей оценки. Добавьте ключ к этому файлу и в раскрывающемся списке ключевых слов выберите «get-task-allow» или «Можно отлаживать» (это зависит от того, показывает ли ваш редактор plist исходные значения ключа). Значение должно быть «НЕТ»
  6. Под Code Signing раздела в настройках сборки вашего проекта выполните следующие действия:
    1. в подписании Возмещений кода установки введите относительный путь, по которому файл .xcodeproj находится в где существует Entitlements.plist. Например, если ваш файл .xcodeproj находится в папке с подпапкой «MyApp», а файл Entitlements.plist существует в папке «MyApp», вы должны установить значение: MyApp/Entitlements.PLIST
    2. Выберите профиль обеспечения под и сертификат под кодекса Подписание раздела

Вуаля, построить свой Xcarchive через продукт-> Архив и передать его своему клиенту, они будут в состоянии перерегистрировать его со своим профилем и сертификатом.

+1

Отлично! Это сработало. –

+0

Таким образом, я не думаю, что вы создаете неподписанный архив. Вместо этого вы подписываете его со своим собственным сертификатом распространения. Затем клиент повторно подписывает ваш подписанный двоичный файл с собственным сертификатом. – archeopetrix

0

Использование команды xcodebuild в терминале работало для меня.

xcodebuild -project MyApp.xcodeproj -scheme MyApp -configuration Release clean archive -archivePath “buildArchive/MyApp.xcarchive" CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO 

Это создало неподписанный архив «MyApp.xcarchive» в «buildArchive» подкаталоге корневого каталога моего проекта.

+0

Перед использованием этой команды необходимо установить «Идентификация подписи кода» = «Не вводить код». –

+0

@ Исуту Джаятисса - право, я пропустил упоминание об этом. Спасибо, что указали это. Не знаю, что побудило кого-то снизить это :( – archeopetrix

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