Визначені права… профіль. (0xE8008016). Помилка iOS 4.2


142

Я отримую "жахливу" помилку, The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile. (0xE8008016).коли намагаюся розгорнути свій перший додаток на нерозбитому пристрої на iOS 4.2.6 (Verizon). Річ у тім, що у мене немає Entitlements fileсвого проекту, оскільки я його взагалі не поширюю, а розміщую лише на одному пристрої. Я пережив усі обручі та петлі, яблуко переносить вас (сертифікат, пристрій, обладнання) до листа, і я не можу зрозуміти, що відбувається не так.

Може хто-небудь, будь ласка, допомогти мені з цією проблемою?


запропонував би вам пройти наступний пост. stackoverflow.com/questions/1410080 / ... discussions.apple.com/thread.jspa?threadID=2162558
Jhaliya

15
Це дивно, я маю протизаконну заяву. Чи пояснив би той, хто це зробив?
Річард Дж. Росс III

Цей питання дійсно допоміг мені , тому що виявилося, що я зробив є файл надаються прав (і ви згадуючи це змусило мене про це знати). Видалення посилання Build Settings > Code Signing > Code Signing Entitlementsдозволило мені створити цей проект.
Джефф

Відповіді:


64

Щойно я сам натрапив на цю проблему. Проблема полягала в тому, що у мене був файл Entitlements.plist у проекті як частина спеціального розповсюдження, а його властивість get-task-enable (тобто 'можна відладжувати') було встановлено на НІ - встановивши це "ТАК", виправлено проблему та дозволило додатку запускатися з Xcode4 на пристрої, що розробляється.

Звичайно, потрібно встановити його "НІ" для спеціальних розповсюджень, але я просто подумав про це, якщо хтось інший зіткнеться з тією ж проблемою.


Спасибі - це остаточно вирішило мою проблему.
EasyCoder

Дякую! Це мене вбивало.
алан

"get-task-enable = NO" змусив мою програму бачити iCloud, коли вона розповсюджується як AdHoc ipa.
Терцій

7
До речі, переконайтеся, що ви вказали правильну ідентичність знака саме в Target -> Settings Settings , а не в Project . Завдання перекриває проект . Я забув про це і отримав повідомлення про помилку 0xE8008016.
Терцій

Ще одне, якщо ваш додаток використовує "iCloud Key-Value Store" у правах, вам потрібно видалити цей ключ для версії налагодження. Інакше додаток не працюватиме на вашому пристрої, і надалі буде видавати цю помилку, навіть якщо для параметра "get-task-enable" встановлено значення ТАК.
мінливість

50

У мене виникла ця проблема з Xcode 4.2.1.

Для мене це не мало нічого спільного з файлом Entitlements або спеціальним ...

Я повертався до старого проекту, і забув додати свій новий iPhone до цієї програми.

Дурна помилка, але також нерозумно відповідне повідомлення про помилку ...: - /


7
Дурна помилка, що, мабуть, ми обоє зробили.
Патрік Басут

5
Я б хотів, щоб я міг +2, яке смішне повідомлення про помилку для цієї проблеми. Я годинами шукав, якби не ваша посада.
Веслі Сміт

Дякую, що вказали на це, я теж зробив цю дурну помилку. остаточно вирішено.
Гаурав

44

Якщо ви використовуєте натиснуту реакцію, переконайтесь, що тестова мета має той самий профіль забезпечення, що і основний.


3
Велике спасибі, ти врятував мій день
Жульєн Атомас

Ти врятував мій бекон
Тео Бендікссон

Дуже дякую. Ти врятував мені день. :)
pratik

Я як годину боровся з цим, поки не побачив ваш коментар, дякую !!
ivmos

Я був мертвий зсередини, поки не наткнувся на цей коментар.
Собака

29

У мене виникла ця проблема з правами iCloud. Моя проблема полягала в тому, що я забув увімкнути iCloud для свого ідентифікатора додатка на порталі надання.

Після ввімкнення iCloud для вашого ідентифікатора додатка вам потрібно буде відтворити профілі резервування.


1
У мене ця помилка повторилася. Мені потрібно було додати свій новий пристрій до профілю забезпечення розробки, а потім оновити список у Xcode.
adjwilli

Мав те саме питання. Що дивно, адже цей додаток було ввімкнено та працювало для тимчасового розгортання.
рейдер

У мене виникли проблеми, пов’язані з iCloud, оскільки мій додаток отримував доступ до документів iCloud. Мені довелося оновити права iCloud у розділі "Здатності".
користувач3300864

20

Зберігайте файл з правами у меню Ціль> Налаштування збірки> Підписання коду> Права підпису коду.

Перейдіть до Цілі> Можливості. Увімкнення / вимкнення / вимкнення / увімкнення однієї з можливостей.

Біжи.


Це працювало для мене. але знову ж таки мені потрібно вибрати профіль забезпечення на сторінці налаштування збірки.
Рінку

1
Це працювало для мене. Для мене було ввімкнено асоційовані домени. Я відключив це, і проблема була вирішена.
BigRon

19

Для мене працювало повністю видалити файл прав із списку груп та зі налаштувань збірки як у проекті, так і в цілі. Потім я відтворив права на вкладці «Підсумок» у цілі, і вона завантажувалась без жодних повідомлень про помилки.


Як було сказано вище, значення "
Права"

1
видалення файлу прав і додавання його знову спрацювало на мене - я теж
чистив

Це був мій ключ тут! Я перевірив налаштування проекту та цільової збірки. У розділі Підписування коду є налаштування "Права підпису коду" - я розширив, виділив і лінії налагодження, і випуск, і натиснув клавішу Видалити. Це дозволило моєму додатку створюватись без помилок. Однак він все одно не буде налагоджувати - він негайно виходить із повідомленням у консолі, мені доведеться його шукати.
Джей Імерман

1
Це добре спрацювало при спробі запустити додаток HealthKit "fit" для iOS8 - у файлі прав була додаткова рядок ідентифікатора. Видалення цього проекту дозволило запустити проект після виконання інших кроків, згаданих у цій темі
Алекс Стоун

Це вирішило мою проблему з iCloud. Здається, у файлі Entitlements було кілька додаткових налаштувань, які там не мали бути. Видалення їх та всіх та відновлення роботи вкладки "Загальні".
AndyDunn

15

Просто поклавши сюди мої 5 копійок. Для мене жодне з вищесказаного не працювало, тому я змушений був підкреслити і насправді дивитися на кожну частину процесу свіжими очима.

Поквапившись, я забув, що намагаюся встановити свій додаток на абсолютно новий пристрій.

Тож моя помилка полягала в тому, що я не оновлював свій профіль забезпечення, поставивши галочку на своєму новому пристрої в розділі "Пристрої" налаштування профілю резервування на порталі забезпечення.

Мабуть, не включення вашого пристрою до профілю забезпечення також генерує це повідомлення про помилку.


Погодьтеся - якщо у вас немає права на надання резерву, ви можете отримати цю помилку.
Метт

12

Жодна з багатьох відповідей не виправила помилку 0xE8008016.

Але коли я вибрав "Автоматичне забезпечення пристрою" в Xcode 4> Органайзер> Пристрої> Надання профілів, нарешті спрацювало.


1
То скелі! Працював і для мене. Я думаю, що це поєднання всього вищесказаного, оскільки додаток спочатку було розроблено з XCode 3, потім було донесено до 4.2, я видалив файл Entitlements.plist з проекту, видалив запис про права підпису коду в Налаштуваннях / Код збірки Розділ підписання, а потім встановіть профіль надання автоматичного. Цей останній це зробив.
Джей Імерман

Це також було моєю проблемою, за винятком того, що він автоматично вибирав неправильний профіль забезпечення, і вручну вибираючи правильний, проблема вирішується.
Абхі Беккерт

1
Це зробило це для мене. Я не впевнений, як було видалено декілька профілів надання iOS Developer Team, але натиснувши кнопку "Оновити" на сторінці "Надання профілів", на яку ви посилаєтесь, вирішили цю помилку.
sean808080

11

У моєму випадку це була дурна помилка. Я неправильно встановив схему "Виконати", щоб використовувати конфігурацію збірки "Розподіл" замість "Налагодження" або "Випустити". Дурна помилка, але для її налагодження знадобився певний час, тому я збираюся додати свою відповідь, щоб покращити базу знань всередині переповнення стека!


10

Видаліть свої профілі резервування, зробіть "Очистити все", переконайтесь, що ваш параметр резервування правильний, перезавантажте та спробуйте запустити ще раз.


Яку версію Xcode ви використовуєте? Якщо це 4,0, з цим виникли проблеми. Можливо, вам доведеться перезапустити Xcode або навіть перезапустити ваш Mac. Переконайтесь, що параметри резервування є правильними як для проекту, так і для цілі. Однак цільове налаштування має перевагу над Проектом.
W Dyson

Я думаю, що це проблема з пристроєм, його iPhone 4 від Verizon, і з тим же профілем забезпечення я можу розгорнути додаток на свій iPad.
Річард Дж. Росс III

Використовуєте старий профіль резервування? Вам потрібно додати Verizon iPhone як пристрій на порталі надання послуг, а потім оновити профіль розробки, повторно завантажити та встановити новий профіль. Якщо це не допоможе, вам доведеться надати більше інформації.
W Dyson

Я тільки вчора створив профіль резервування, як це може бути старим? Apple просто ратифікувала мій запит розробника, тож це було абсолютно новим. Так чи інакше, я побачу, як це працює, коли потім оновиться до iOS 4.3.
Річард Дж. Росс III

«Чистий» зробив це для мене. -_-
Cœur

5
  1. Відкрийте "iOS Provisioning Portal" в Safari.
  2. Натисніть "Пристрої" на бічній панелі.
  3. Зареєструйте UDID вашого пристрою
  4. Торкніться пункту "Надання профілів"
  5. Редагуйте профіль додатків.
  6. Виберіть пристрій, який ви тільки що додали.
  7. Завантажте файл .mobileprovision.
  8. Встановіть його.
  9. Будуйте заново.

4

У мене була така ж проблема в моєму додатку, через кілька місяців цей конкретний додаток працював чудово.

Проблема полягала в тому, що можливості, налаштовані в моєму проекті Xcode (у розділі Цілі -> {ProjectName} -> можливості), не збігалися з можливостями, налаштованими у профілі надання (ви можете перевірити це в центрі членства Apple у розділі Ідентифікатор -> додаток Ідентифікатори -> {ваш ідентифікатор програми}. У центрі учасників я побачив, що Ігровий центр увімкнено, і тому в своєму проекті я також включив Ігровий центр. Потім додаток вдалося запустити.

Я не знаю, як це працювало до цього часу. Це досі загадка :)


Тепер я зрозумів, що push-сповіщення більше не працює. Я видалив можливості ігрового центру в Xcode. Додаток зараз запускається, але натискання сповіщень більше не надходить. Хтось знає, чому?
bobsacameno

4

Для мене встановіть прапорець "Автоматично керувати підписом" у програмі Target вирішити проблему!



3

Якщо ви нічого не змінили, пов'язані з сертифікатами (не замінили і не оновили), просто зробіть це Product -> Clean. Це мені допомагало кілька разів. (Xcode 6.2)


2

Оновлення до XCode 4 вирішило проблему.


1
Здається, це не проблема з версією XCode, оскільки я отримав помилку в XCode 7.3.1. Для вирішення проблеми довелося видалити профіль надання та повторно завантажити той самий з налаштувань XCode.
Ян Пінто

@IanPinto Я згоден. Головною причиною цього є прийнята відповідь, тому що саме це працювало для мене . Це вже насправді не дуже корисна інформація, і я вже схвалив більшість інших відповідей у ​​цій публікації, оскільки всі вони містять надзвичайно цінну інформацію для людей, які в майбутньому дивляться на це. Хороша річ у самовідповіді на SO - це те, що вони автоматично не висуваються на вершину стека, так що не багато людей побачать цю відповідь так чи інакше :)
Річард Дж. Росс III

2

Я сьогодні зіткнувся з цією проблемою, і я витягував волосся, намагаючись розібратися. Як і багато людей тут, це спрацює, якби я видалив параметри iCloud у файлі прав. Коли я пішов би налагоджувати додаток із включеними параметрами iCloud, я отримав би помилку 0xe8008016. Це було одразу після відкликання та відновлення нових сертифікатів.

Тож для мене це вирішило - увімкнути підтримку iCloud для автоматично сформованого профілю команди Xcode. Увійдіть у онлайн-інструмент забезпечення, перейдіть App IDs, натисніть Xcode iOS Wildcard App ID, клацніть edit, увімкніть iCloud, встановивши прапорець і, нарешті, клацнувши Done. Оновіть свої профілі в Xcode, і тоді він почне працювати.

Це має певний сенс - коли ви налагоджуєте його за замовчуванням у профілі команди, а в команді потрібно ввімкнути iCloud.


1
ТАК! Це була моя проблема, і ввімкнення iCloud на ідентифікатор усіх програм зробило свою справу. Велике спасибі
Гай Морельйон

2

Сталося зі мною, коли я намагався помилково використати профіль забезпечення дистрибуції магазину додатків для локального тесту. Коли я використовував правильний профіль розвитку, він працював чудово. Можливо, і це комусь теж допомагає.


що я можу зробити, якщо хочу протестувати профіль додатка, який було завантажено в App Store? Чи є спосіб це зробити?
bobsacameno

2

Це працювало для мене ...

  1. Я видалив Entitlementsфайл із target.
  2. Видалено додаток із усіх моїх пристроїв
  3. Cleaned збірка в Xcode
  4. * необов'язково видалити профіль надання та повторно додати його

Сподіваюся, це працює і для вас, хлопці :)


вилучив файл права з цілі, працює для мене. Але не варто, якщо це найкращий спосіб зробити це.
YuAn Shaolin Maculelê Lai

2

Ось що і вирішило мою проблему: Видалення шляху в розділі Права підпису коду в налаштуваннях побудови Цілі.


"Як" пояснення, будь ласка?
Агент Зебра

@AgentZebra Клацніть на головному файлі проекту> виберіть додаток із пункту "Цілі"> Налаштування збірки> Підписання> Права підписання коду, видаліть показане там значення.
weienw

2

Мій профіль забезпечення від розробника Apple відповідав моїм можливостям Xcode, але він все одно не буде вбудовуватися на мій пристрій, поки я не зробив наступне:

  1. Видаліть / видаліть файл прав з вашого проекту Xcode.

  2. Поверніться на вкладку «Можливості Xcode»

  3. Натисніть кнопку "Виправити випуск", щоб отримати Xcode, щоб повторно додати файл прав.

Працював для мене, сподіваюся, що це комусь допоможе.


2

Сталося зі мною на Xcode 8, це було частково спричинене новою Provisioning Profileнастройкою збірки, оскільки у цій версії Xcode є два записи для профілю надання:

  • Надання профілю
  • Профіль надання (застарілий)

Моя вина була в тому, що я оновив лише перший, а застарілий запис все ще вказував на недійсний профіль резервування. Змінення обох значень вирішило проблему (очищення застарілого запису також повинно мати однаковий ефект).


1

У моєму випадку схоже, що Xcode (таємно) скидає схему. Я виявив, що конфігурація збірки для Archive була встановлена ​​на Release замість дистрибутива, і після того, як я змінив її на правильну, вона працювала.

Я думаю, що краще перевірити схеми, а також параметри збірки.


1

У мене був старий проект і така ж проблема, і я вирішив.

1.Перейти до резюме
2.Загадати групи брелоків та видалити об'єкт груп брелоків.

Я сподіваюся, що це спрацює для вас. З повагою


1

Я використовую xcode 6 і стикаюся з цією проблемою для одного конкретного iphone 4

нарешті, я переходжу до пристрою => профіль надання =>

а потім додайте профіль вручну і проблема виправлена.


1

Для мене в Xcode 5.1 я отримував, The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile.намагаючись протестувати додаток на своєму пристрої. Сертифікат на розробку пристрою має закінчитись лютого 2015 року.

Проблема була вирішена:

Вибраний Target->Capabilitiesпід GameCenter, тут я отримував помилку щодо прав GameCenter, оскільки він не був доданий до проекту, хоча перша версія програми була випущена через той же XCode 5.1, але помилок, як це раніше, не було.

Внизу була надана кнопка із заголовком Fix Issue. Після натискання на нього додано права GameCenter і проблема була вирішена.

Після підопічних екран виглядає так:

введіть тут опис зображення

Для мене не було нічого спільного з сертифікатом. Зараз додаток успішно працює на пристрої.


1

Ще одна потенційна проблема, яка спричинить це повідомлення про помилку: Якщо ви використовуєте ідеально правильний профіль забезпечення для вашого основного додатка, але у вас є термін дії чи минулий або недійсний профіль надання для вашого розширення Today віджет. Я думаю, що це було б саме для розширення годинника Apple.

Перевірте всі профілі!


1

Перевірте доступ до KeyChain!

У моєму випадку я використовував неправильний сертифікат розповсюдження, пов’язаний із профілем резервування.


1

Код, над яким я працював, мав інший пакет в Інфо-плісті, ніж у Product Bundle Identifier налаштуваннях збірки.

Я знайшов це, оскільки помітив це повідомлення на консолі пристрою у поданні пристроїв:

MIS: entitlement 'application-identifier' has value not permitted by provisioning profile 'iOS Team Provisioning Profile: com.xxx.yyy'


0

Якщо ви намагаєтесь активувати синхронізацію iCloud, вам потрібно буде включити iCloud для AppID, який використовується для створення профілю забезпечення розробки (який Xcode робить автоматично). Вам також потрібно ввімкнути це для профілів розповсюдження.

Складна частина полягає в тому, що коли ви оновлюєте профілі в Xcode, це не запускає оновлення профілів; їх просто повторно завантажують. Отже, на вашому порталі забезпечення iOS в розділі «Надання / розробка» вам потрібно буде перевірити профіль, який позначений міткою (Керується Xcode) та видалити його (Видалити вибрану кнопку). Зробіть це для ВСІХ профілів, розробки та розповсюдження, які вам потрібно відновити.

Тепер у Xcode в Організаторі видаліть профілі надання, які ви збираєтеся замінити.

Тепер, щоб отримати нові. Якщо ви розробляєте для декількох команд і хочете лише оновити певну, виберіть відповідну команду на лівій панелі в команді TEAMS, інакше виберіть Надання профілів у БІБЛІОТЕКА, а потім виберіть Оновити.

Нарешті, видаліть зі свого пристрою старі профілі забезпечення, які можуть суперечити новим, оскільки профілі ніколи не видаляються автоматично; новіші профілі просто додаються до списку.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.