Вирішуємо проблеми з сертифікатами і provisioning profiles в iphone - appdev - програма підтримки

Вирішуємо проблеми з сертифікатами і 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.