Скорость рассмотрения приложений

Имя для программы уже занято

Решаем проблемы с сертификатами и provisioning profiles в iPhone

Решаем проблемы с сертификатами и provisioning profiles в iPhone

Являясь членом iDP вы можете запускать и отлаживать свои приложения на реальном iPhone совершив следующую последовательность действий:
• Создание запроса о подписании сертификата (CSR) и отправка запроса на портале разработчиков
• Загрузка и установка сертификата (для разработки или распространения) в связку ключей
• Загрузка и установка WWDR сертификата
• Создание и загрузка Provisioning profile содержащего список устройств на которых вы хотите запускать или отлаживать вашу программу
• Установка Provisioning profile на ваш компьютер
• Прописывание сертификата и provisioning profile в проекте XCode

Проверка работы

Прежде всего перечитайте iPhone Developer Portal Program Guide PDF для того, чтобы убедится в том, что все шаги вы выполнили правильно.
Обычно, разработчики сталкиваются с двумя основными проблемами:
• Приложение не подписано
• Приложение подписано, но не может быть установлено на iPhone
Проверяем, подписано ли приложение
Вы можете узнать, подписано ли ваше приложение, проверив всего две вещи:
• В процессе сборки был пройден этап «CodeSign»
• Собранный пакет содержит CodeResource и embedded.mobileprovision
Если это не так, обратите внимание на следующие моменты
• Проект XCode настроен правильно; в Code Sigining Identity значится: iPhone Development: ваше_имя или iPhone Distribution: ваше_имя и выбран тот provisioning profile для подписания программы, который вы загрузили для сборки именно этого проекта. Если в качестве профиля значится Default provisioning profile for code signing identity, вы нашли ошибку.
• Если вы установили эти настройки на уровне проекта, убедитесь, что они не перезаписываются настройками цели (target)
• Попробуйте магию: перезагрузите XCode, сделайте clean, пересоберите все заново.

Если вы не можете даже выбрать provisioning profile в XCode, проверьте следующее:

• Редактируете ли вы настройки цели (active target)? Дело в том, что окно выбора provision profile содержит профили, совпадающие с сертификатом для active target (возможно вы редактируете настройки другого профиля). Вам необходимо убедится в том, что вы выбрали нужную конфигурацию в меню Project/Set Active Build Configuration
• Установили ли вы сертификат WWDR? Проверьте наличие Apple Wordwide Developer Relations Certification в связке ключей
• Установлен ли сертификат для распространения в связке ключей? Поищите 'iPhone Developer: ваше_имя' и/или 'iPhone Distribution: ваше_имя' в списке. Слева от названия сертификата вы увидите серый треугольник, если кликнуть по нему должен показаться ваш private key.
• Установлен ли provisioning profile в папку ~/Library/MobileDevice/Provisioning Profiles/. Если нет, перетяните файл с профилем в iTunes или XCode Organizer.

Приложение подписано, но вы не можете загрузить его в устройство

Прежде всего скачайте iPhone Configuration Utility, с помощью это программы вы сможете получить доступ к логам консоли, устанавливать приложения и проверять наличие установленных provisioning профилей.

• Установлен ли provisioning profile в ваш iPhone? Запустите iPhone Configuration Utility для того, чтобы проверить это.
Так же вы могли неправильно назвать ваше приложение (App-ID bundle name).
• Лучше всего использовать * в качестве id приложения.
• Если в консоли вы видите ошибку entitlement 'application-identifier' has value not permitted by provisioning profile, попробуйте использовать звездочку (*) в качестве App ID

Профили для Ad Hoc распространения

Очень часто разработчики, собрав приложение для Ad Hoc видят в консоли следующее:
entitlement 'get-task-allow' has value not permitted by provisioning profile.

При попытке установить приложение с Ad Hoc в iTunes вы можете получить ошибки 0xE8000001 или 0xE8000013.

Проверьте следующее:

• Редактируете ли вы настройки цели (active target)? Дело в том, что окно выбора provision profile содержит профили, совпадающие с сертификатом для active target (возможно вы редактируете настройки другого профиля). Вам необходимо убедится в том, что вы выбрали нужную конфигурацию в меню Project/Set Active Build Configuration
• Установили ли вы сертификат WWDR? Проверьте наличие Apple Wordwide Developer Relations Certification в связке ключей
• Установлен ли сертификат для распространения в связке ключей? Поищите 'iPhone Distribution: ваше_имя' в списке. Слева от названия сертификата вы увидите серый треугольник, если кликнуть по нему должен показаться ваш private key.
• Создали ли вы файл Entitements.plist? Откройте проект и выберите File -> New File -> iPhone OS -> Code Signing -> Entitlements. Назовите новый файл “Entitlements.plist” и нажмите «Finish». Этим действием вы создали копию «прав по умолчанию» в своем проекте. Выберите файл Entitlements.plist и снимите свойство get-task-allow.