Профиль обеспечения не включает права доступа к идентификатору приложения и группам ключей

193

Я пробовал все остальные вопросы и искал все, что мог, уже многие другие вопросы касались существующих приложений, которые обновлялись, или людей с учетными записями разработчиков, но это похоже на мой второй раз с использованием Xcode, и он работал раньше ,

Это просто случилось из ниоткуда. Я продолжаю получать эти две ошибки, и это позволяет мне запускать симуляторы, но не строить на моем iPhone:

  1. Автоматическое подписание не может решить проблему с разрешениями цели «LearningSpriteKit». Автоматическая подпись не может добавить права доступа к идентификатору приложения и брелкам доступа в ваш профиль обеспечения. Переключитесь на ручную подпись и устраните проблему, загрузив соответствующий профиль обеспечения с веб-сайта разработчика. В качестве альтернативы, чтобы продолжить использовать автоматическую подпись, удалите эти права из файла прав и связанные с ними функции из своего кода.

  2. Профиль обеспечения «Профиль обеспечения группы iOS: #####. LearningSpriteKit» не включает в себя права доступа к идентификатору приложения и группам ключей.

Джек А
источник
9
Тоже испытываю это. Может быть, это глобальная вещь, попросив других разработчиков подтвердить на ios-developers.slack.com
yeralin
8
Тоже самое! Не могу запустить на Iphone. единственный эмулятор
Ренан Агияр
6
Тоже самое. Не платный аккаунт разработчика.
Tieda Wei
6
да, я тоже сталкиваюсь с той же проблемой. Я думаю , что это также вопрос с бесплатной учетной записью
Piyush
9
Та же проблема, Платный аккаунт
byemute

Ответы:

63

Эта проблема связана с ошибкой 1534145. SSL.com: сертификаты P-384 кривой / ecdsa-with-SHA256 .

Представитель Apple оценил 558 000 сертификатов, которые будут признаны недействительными: ошибка 1533655. DigiCert: Apple: несоответствующие серийные номера

На это влияют GoDaddy, Google, Apple и Facebook (это объясняет, почему Facebook сегодня был сбой)

Они работают над решением проблемы прямо сейчас.

Это объясняет наши проблемы, ребята!

Обновление: проблема была решена. Попробуйте обновить ваши проекты.

yeralin
источник
3
Рад слышать, что Apple имеет дело с этим / высказался по этому вопросу
Джейк
5
Недействительные сертификаты не объясняют, почему новые, выпускаемые Apple, не имеют необходимых прав.
Дэвид Гиш
3
@DavidGish Из того, что я могу почерпнуть из отчета, на самом деле они не выдают никаких сертификатов. На 2019-03-7 они прекратили выдачу сертификатов TLS, не зная, применимо ли это или как.
Бильфред
2
Есть ли какие-либо обновления к этому? Я чувствую, что это должно иметь наивысший приоритет. Есть новые идеи для обходных путей?
Линус
9
Прямо сейчас я не получаю эту ошибку, но вместо этого я получаю "iPhone отклонил запрос на запуск" .. какие-нибудь идеи?
Безоадам
23

Обходной путь: измените Идентификатор пакета и / или версию .

yycking
источник
5
Работает здесь Если этого не произойдет, попробуйте отключить «Автоматически управлять подписанием», удалить нарушающий профиль обеспечения, изменить идентификатор пакета, включить автоматическую подпись, а затем добавить свою команду.
Чейз Паттерсон
Не работает. Он не выдает ошибок или предупреждений, но приложение отказывается запускаться на устройстве, как описано здесь stackoverflow.com/questions/45421179/…
Fedorov7890
Что написать для Bundle Identifier и версии, пожалуйста? Я работающий не по найму разработчик, работающий в моем собственном офисе. Я написал для них две строки и число соответственно, и ошибки со знаками исчезли, но я думаю, что не могу запустить свое приложение, используя набор iOS (на Qt Creator)!
Фрэнки
@ Fedorov7890 Чтобы запустить приложение на устройстве, необходимо отключить флажок отладочного исполняемого файла в схеме, как описано в этом комментарии. IPhone отклонил запрос на запуск . Этот обходной путь работает для меня после удаления учетной записи dev, очистки ~/Library/MobileDevice/Provisioning Profilesи изменения идентификатора пакета.
Дэвид
@david Спасибо, я уже нашел альтернативное решение без отключения исполняемого файла отладки, stackoverflow.com/a/55160300/3824328
Fedorov7890
22

Я восстановил профиль из Time Machine, когда он работал, и после запуска Xcode немедленно удаляет и заменяет его новым. Ключевым отличием является то, что старый профиль имеет get-task-allowправа, а новый - никаких прав. Это определенно сломано в конце Apple.

Редактировать: права также должны включать группу доступа цепочки для ключей, но опять же, никаких прав вообще. Должно выглядеть так:

Хорошие права

Дэвид Гиш
источник
19

РЕДАКТИРОВАТЬ

Согласно последнему обновлению Apple успешно разрешила проблему « Автоматически подписывать код с бесплатной учетной записью» .

Я попробовал это, и я могу подтвердить свое решение.

Пожалуйста, попробуйте на вашем конце.

Обновить

Протестировано с последней версией XCode 10.2, и она работает нормально + они улучшили производительность всей функции Xcode и codeignign.

Я также сталкиваюсь с той же проблемой, когда я создаю новый профиль из XCode, и если я иду в другие проекты и проверяю там, я также сталкиваюсь с той же проблемой, как показано ниже.

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

Из-за этой проблемы ни один из моих проектов не может быть построен со старым профилем и сертификатом.

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

Проверьте скриншоты ниже сравнения старого и нового профиля:

Старый профиль:

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

Новый профиль:

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

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

Решение проблемы:

Шаг 1. Перейдите в папку «Профиль обеспечения» (путь: ~ Библиотека ▸ MobileDevice ▸ Профили предоставления).

Или используйте ярлык, чтобы перейти непосредственно в эту папку, например CMD+ Shift+, Gи введите ~/Library/MobileDevice/Provisioning Profilesего, чтобы перенаправить ваш искатель непосредственно в папку «Профили Provisioning».

Шаг 2: Сортировка файлов в этой папке по дате изменения.

Шаг 3: Проверьте профиль с неизвестным идентификатором приложения и удалите все неизвестные профили.

Шаг 4: Вернитесь на Xcode и проверьте, что все старые проекты будут работать как положено.

Примечание: убедитесь, что ни один из ваших проектов не открыт при выполнении вышеуказанных изменений. В противном случае он создаст новый профиль с неизвестным идентификатором приложения.

Я надеюсь, что это поможет, и Apple скоро исправит эту ошибку!

CodeChanger
источник
1
Где этот ~ путь к библиотеке, пожалуйста?
Фрэнки
1
@Franky ~ / Библиотека / MobileDevice / Предоставление профилей. Хотя это исправление не работает для меня (и других, как видно из других ответов). Ваш пробег может варьироваться.
Бильфред
1
@Bilfred Мой macOS X - Sierra 10.13.6, и в ~ Library такого пути нет!
Фрэнки
Спасибо, пожалуйста, обратите внимание, что в этой папке есть только один файл ..mobileprovision , и этот файл содержит три раздела: ПРОФИЛЬ ОБЕСПЕЧЕНИЯ КОМАНДЫ iOS , СЕРТИФИКАТЫ и УСТРОЙСТВА ПРЕДОСТАВЛЕНИЯ . В ПРОФИЛЕ ОБЕСПЕЧЕНИЯ КОМАНДЫ iOS есть строка с неизвестным идентификатором приложения: как на этом рисунке . Теперь я должен удалить файл?
Фрэнки
1
Да, удалите этот файл и еще раз попробуйте еще раз. Apple разрешила вышеуказанную проблему.
CodeChanger
18

Похоже, Apple сломала систему автоматической подписи. Я играл с несколькими проектами, и XCode просто выбирает неправильный профиль.

Это сработало для меня:

  1. Выключите «Автоматически управлять подписью» в цели проекта
  2. Перейти к ~/Library⁩/⁨MobileDevice⁩/⁨Provisioning Profiles⁩
  3. Удалить ранее загруженные профили
  4. Снова включите «Автоматически управлять подписью»
Олег Заяц
источник
12
Для меня это не работает. Также я думаю, что вы имеете в виду ~ / Library / MobileDevice / Provisioning Profiles
Fedorov7890
1
@ Fedorov7890 Да, исправлено. Какое сообщение вы видите?
Олег Заяц
1
Примечание: похоже, это работает для проектов, созданных вчера и ранее, но не для сегодняшнего проекта
Fedorov7890
Для меня это сработало. Я создавал «Интеграционное приложение» для Appium. Спасибо за решение, Олег Заяц.
Ахамед Абдул Рахман
Это прямо здесь решило проблему, которая у меня была около 5 часов>. <
Eray T
15

ОБНОВЛЕНИЕ: Это решение все еще работает как на 2019/20 марта 7:00 UTC + 0

РЕШЕНИЕ: переустановка XCode не требуется. Я использовал совершенно новый бесплатный AppleId, но позже проверил мой старый AppleID, и он также работает.

  1. В Xcode под Генеральной вкладкой, снимите галочку автоматического управления подписанием варианта
  2. Закройте Xcode.
  3. Стереть старые профили в ~/Library/MobileDevice/Provisioning Profiles:

    cd ~/Library/MobileDevice/Provisioning\ Profiles
    
    rm -rf *
  4. На MacOS, запустите LaunchpadOtherKeychain Access и удалите все сертификаты, связанные с разработкой iPhone, как показано на рисунке ниже:

    • Всемирный центр сертификации отношений с разработчиками Apple
    • Удостоверяющий центр ID разработчика
    • Разработчик iPhone: your_name_or_email

      Удалить сертификаты

  5. Удалите старое приложение на iPhone. Перезагрузите iPhone и Mac

  6. Откройте Xcode и измените Идентификатор пакета вашего приложения, по крайней мере, на один символ (позже вы можете отменить это изменение)
  7. Включите Automatically manage signingопцию в Xcode.

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

Если у вас есть проблема «iPhone отклонил запрос на запуск», решение находится в ответе на вопрос переполнения стека. IOS 12 iPad Отказано в запросе на запуск iPad - Xcode .

Короче говоря, вам нужно в XCode, чтобы перейти в меню ProductSchemeEdit Scheme ... и выбрать Executable: ask on launch .

Fedorov7890
источник
для отказа в ланче, если я уберу опцию отладчика, я не могу отладить при использовании устройства. Единственный симулятор
Ренан Агиар
@RenanAguiar Вам не нужно удалять опцию отладчика, просто измените «Исполняемый файл» из выпадающего списка на «спросить при запуске». Смотрите ссылку в моем посте, которая показывает, как это сделать на картинках.
Fedorov7890
когда я это делаю, происходит то же самое. я не могу видеть значки отладчика, такие как шаг и местоположение. только на симуляторе
Ренан Агиар
Похоже, отладчик не полностью функционален. Я могу получить консольный вывод с устройства, но точки останова не работают; и не переступайте / не
входите
Я могу подтвердить, что вышеуказанный ответ работал для меня. В частности, приложение собирается, загружается и загружается на мой iPhone. Я использую бесплатный аккаунт разработчика. (14 марта 2019 г.)
FractalSpace
15

Эта проблема была решена, НО некоторые люди все еще имеют проблемы с ней. Если вы один из них, попробуйте следующее:

1. На вкладке Общие настройки целевых - снимите автоматическое управление подписания опции

2. Закройте Xcode (полностью, а не только ваш проект)

3. Стереть .mobileprovisionфайлы под~/Library/MobileDevice/Provisioning Profiles/

4. В Keychain Access удалите следующее:

  • Разработчик iPhone: youremail@email.com
  • Удостоверяющий центр ID разработчика
  • Всемирный центр сертификации отношений с разработчиками Apple 3.

5. Удалите приложение на своих устройствах iOS

6. Перезагрузите Mac и устройства iOS

7. Снова откройте Xcode

8. Измените Идентификатор пакета (даже если это один символ, вы вернете его обратно к оригиналу после того, как он будет запущен)

9. Проверьте Automatically manage signingопцию

10. Используйте USB для подключения вашего iPhone / iPad.

11. Убедитесь, что вы доверяете свой сертификат на ваших устройствах iOS

Это должно сработать для вас.

Дани
источник
Огромное
Решил ли он проблему «iPhone отклонил запрос на запуск» для вас?
Fedorov7890
@ Fedorov7890 это сделал для меня, и я предполагаю, что для ShadowLightz
Дани
11

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

Что касается ответа @Paul, это не связано с удалением Xcode. Это исправлено со стороны сервера.

Единственное, что требуется, это удалить сертификат разработчика Apple (для личной учетной записи) из цепочки для ключей, чтобы XCode попытался сгенерировать и загрузить новый.

Хусейн Бехбуди Рад
источник
Все еще не могу установить на устройство. Даже с новым бесплатным appleid и сертификатом
Fedorov7890
Вы удалили все сертификаты?
Husein Behboodi Rad
Да, я сделал, кроме того, что я удалил ~ / Library / MobileDevice / Provisioning \ Profiles и ~ / Library / Developer / Xcode / DerivedData и перезапустил iPhone
Fedorov7890
Наконец, это работает с этим обходным
решением
Где удалить сертификаты? Какой путь?
Фрэнки
10

Вот решение:

  1. Пусть Xcode будет открытым.

  2. Выберите свою учетную запись разработчика и позвольте ошибке появиться снова.

  3. Перейти к приложению брелок

4.a) Перейти к разделу сертификата

4.b) Удалить все (действительные и недействительные) сертификаты (у меня есть три действительных и многие недействительные!)

Удалить сертификаты

  1. После удаления последнего сертификата macOS автоматически создаст новый сертификат для активной учетной записи разработчика.

  2. Запустите ваше приложение в вашем iDevice. Вам необходимо ввести системный пароль, чтобы добавить вновь созданный сертификат в связку ключей.

Если во втором запуске это говорит

Ваш iPhone отклонил запрос на запуск

Просто зайдите на:

ПродуктСхема → * изменить схему: снимите флажок «Отладка исполняемого файла»

Я надеюсь, что это решит вашу проблему.

Alirezak
источник
4
это не так! я не могу отладить или использовать местоположение на устройстве
Renan Aguiar
Привет спасибо. Как перейти к «App Keychain», пожалуйста? Какой путь?
Фрэнки
Вы, наверное, уже нашли его, но приложение Keychain Access находится в Приложениях-> Утилиты
Дэвид Гиш
я все еще не могу отладить, используя iphone с этими ответами
Ренан Агияр
9

Я получил его на работу, выполнив следующие шаги:

  1. Перейти к Xcode
  2. предпочтения
  3. Счета
  4. Управление сертификатами
  5. Знак плюс
  6. iOS разработка
  7. Готово
  8. Скачать руководство Профили
  9. близко
  10. Перейти к вашей цели
  11. Изменить команду разработчиков на нет
  12. Замените команду разработчиков на вашу предыдущую команду

Он должен работать.

Дж. Доу
источник
7

Наконец-то я снова смог развернуться на наших устройствах iOS. Вот шаги, которые я предпринял, чтобы заставить это работать.

Во-первых, я выполнил все 10 шагов в ответе Замира . Я скопировал их ниже:

  1. Откройте свой проект в XCode.
  2. Выберите ваш проект в навигаторе проекта, а затем выберите цель в столбце.
  3. Перейдите на вкладку « Общие » и в разделе « Подписание » убедитесь, что «Автоматически управлять подписью» включено.
  4. Нажмите на Capabilities вкладку и включите на обоих «App групп» и «Keychain разделе» настройки. Это может вызвать всплывающую ошибку «Автоматическая подпись не удалась» , просто нажмите «Отмена», чтобы она исчезла.
  5. Это должно создать файл разрешений для вас с именем nameProject.entitlements в папке проекта вашего навигатора проекта.
  6. Переместите этот файл разрешений за пределы папки, чуть ниже файла вашего проекта.
  7. Выберите цель снова и вернуться к Capabilities вкладке , чтобы включить Off оба «App группы» и «брелок» Совместное использование параметров. Это может снова вызвать всплывающую ошибку «Автоматическая подпись не удалась» , просто нажмите «Отмена», чтобы она исчезла.
  8. Теперь выберите ваш проект выше цели и перейдите на вкладку « Настройки здания ».
  9. Прокрутите вниз до параметра « Идентификация подписи кода» под заголовком « Подписывание» и выберите iOS Developer в каждом раскрывающемся списке.
  10. В соответствии с вышеуказанным подписывания заголовка, дважды щелкните текстовое поле рядом с Code Signing Возмещений и введите имя файла предоставления прав, nameProject.entitlements .

После выполнения этих 10 шагов два красных сообщения об ошибках в XCode исчезли, и я смог создать и развернуть тестовое приложение XCode на iPhone и запустить его.

Несмотря на то, что тест приложение XCode может создавать и развертывать, я разрабатываю на компьютере с помощью Xamarin , и я не смог развернуть мое приложение Xamarin.iOS моих IOS устройств и продолжал получать ошибку в Visual Studio: the executable was signed with invalid entitlements. Я сделал следующее и теперь могу развернуть свое приложение Xamarin и запустить его на своих устройствах iOS:

  1. Я удалил профиль обеспечения с Mac в ~/Library/MobileDevice/Provisioning Profilesкаталоге. XCode немедленно сгенерировал новый предусматривающий профиль (я не уверен, что этот шаг был необходим, но я просто пишу его, потому что это то, что я сделал).
  2. Я изменил свой Xamarin.iOS.csprojфайл и удалил Entitlements.plistиз CodesignEntitlementsэлемента, так что теперь он выглядит так <CodesignEntitlements></CodesignEntitlements>. Visual Studio автоматически добавила два элемента в одну группу свойств в проекте, которые, вероятно, не нужны, но я подумал, что упомяну: <CodesignExtraArgs />и <CodesignResourceRules />.
Аарон Т
источник
7

Может быть, сообщение на форуме [iOS 12 SDK] - крайний срок март 2019 - Legacy Mode может помочь.

В нем говорится о том, что Apple отказывается от создания приложений iOS под SDK 12 по состоянию на март 2019 года (ОП с декабря 2018 года).

Я еще не пробовал это, но это может быть связано с проблемой. У меня есть бесплатная учетная запись разработчика, и я также испытываю эту ошибку.

Вот скриншот на случай, если ссылка изменится (скриншот 1 ниже).

Это ссылка с первого скриншота (скриншот 2 ниже)

1sdk_12_issue

2iphone_xs_max_support_image

Джейк
источник
1
Интересно, но у нас есть XCode 10.1, показывающий эту проблему, и 10.1 поддерживает SDK 12.
Али Бидл
Хорошо, конечно, мне удалось получить временное решение, очистив проект в Xcode и запустив только отладку через мою IDE (я использую VSC) через симулятор.
Джейк
4
Как сказал ОП, симуляторы, похоже, не подвержены этой проблеме. Похоже, что влияет только на реальные устройства.
Али Бидл
3
Да, я не смог загрузить физическое устройство. Надеюсь, Apple исправит это в ближайшее время.
Джейк
6

Существует еще один потенциальный источник этой ошибки. Если у вас нет действующей подписанной настройки сертификата разработки в вашей среде XCode, он выдаст те же ошибки, что и ОП.

Вы можете проверить статус своих сертификатов разработки по ссылке Apple здесь .

GordonW
источник
Я использую бесплатную учетную запись. Следуя тому, что говорят люди, теперь я получаю сообщение об ошибке ожидания 7 дней ... Я не собираюсь платить за тестирование на своем устройстве.
Ренан Агияр
5

Для меня это наконец работает снова. Либо они просто исправили это, либо помогли другие мои шаги:

  1. Удалите Xcode и все связанные файлы (используя AppCleaner)
  2. Установите Xcode через App Store
  3. Изменить идентификатор пакета приложения
  4. Удалите все ключи iOS Developer из связки ключей
Павел
источник
1
Ava
5

Вот временное решение:

  1. Изменить идентификатор пакета : ЦельОбщиеИдентичностьИдентификатор пакета (установите для него значение, отличное от текущего)
  2. Изменить версию : ЦельОбщиеЛичностьВерсия
  3. Отключить исполняемый файл отладки : ПродуктСхемаРедактировать схему (снимите флажок «Отладочный исполняемый файл» )
  4. Удалить профили подготовки : ~/Library/MobileDevice/Provisioning Profilesудалить все в этой папке.

Теперь вы сможете создавать и запускать проекты на симуляторах и устройствах.

Митч Вулф
источник
теперь я
Ренан Агиар
5

Для macOS Big Sur Beta

  1. Архив в Xcode 11
  2. Загрузка с помощью бета-органайзера Xcode 12 (Окно -> Органайзер)
AlphaWulf
источник
Спасибо. Спасибо. Спасибо.
Эндрю Моррис
из интереса, как ты это решил?
Эндрю Моррис
Это сработало для меня! У macOS Big Sur есть проблемы со старым Xcode
Кевин
Спаси мой день. Спасибо!
Оссир
1
@AndrewMorris Честно говоря, случайным образом пробовал все, что я мог придумать, пока это не сработало. Не помогло то, что все остальные ответы указывают на предоставление профилей и сертификатов, которые действительно сбивают вас с пути.
AlphaWulf