Профиль обеспечения не включает права доступа к идентификатору приложения и группам ключей
Я пробовал все остальные вопросы и искал все, что мог, уже многие вопросы касались существующих приложений, которые обновлялись, или людей с учетными записями разработчиков, но это похоже на мой второй раз с использованием Xcode, и он работал раньше,
Это просто случилось из ниоткуда. Я продолжаю получать эти две ошибки, и это позволяет мне запускать симуляторы, но не строить на моем iPhone:
Автоматическое подписание не может решить проблему с разрешениями цели "LearningSpriteKit". Автоматическая подпись не может добавить права доступа к идентификатору приложения и группам ключей в ваш профиль обеспечения. Переключитесь на ручную подпись и устраните проблему, загрузив соответствующий профиль обеспечения с веб-сайта разработчика. В качестве альтернативы, чтобы продолжить использовать автоматическую подпись, удалите эти права из файла прав и связанные с ними функции из своего кода.
Профиль обеспечения "Профиль обеспечения группы iOS: #####.LearningSpriteKit" не включает в себя права доступа к идентификатору приложения и группам ключей.
15 ответов
Эта проблема связана с ошибкой 1534145. SSL.com: сертификаты P-384 кривой / ecdsa-with-SHA256.
Представитель Apple оценил 558 000 сертификатов, которые будут признаны недействительными: ошибка 1533655. DigiCert: Apple: несоответствующие серийные номера
На это влияют GoDaddy, Google, Apple и Facebook (это объясняет, почему Facebook сегодня был сбой).
Они работают над решением проблемы прямо сейчас.
Это объясняет наши проблемы, ребята!
Обновление: проблема была решена. Попробуйте обновить ваши проекты.
Обходной путь: измените Идентификатор пакета и / или версию.
Я восстановил профиль из Time Machine, когда он работал, и после запуска Xcode немедленно удаляет и заменяет его новым. Ключевое различие заключается в том, что старый профиль имеет get-task-allow
право, в то время как новый не имеет прав. Это определенно сломано в конце Apple.
Изменить: права также должны включать группу доступа цепочки для ключей, но опять же, никаких прав вообще. Должно выглядеть так:
It seems Apple broke the automatic signing system. I was playing around with a few projects and Xcode just fetches the incorrect profile.
This worked for me:
- Turn off "Automatically manage signing" in project target
- Go to
~/Library/MobileDevice/Provisioning Profiles
- Remove previously downloaded profiles
- Turn on "Automatically manage signing" again
РЕДАКТИРОВАТЬ
Согласно последнему обновлению Apple успешно разрешила проблему " Автоматически подписывать код с бесплатной учетной записью".
Я попробовал это, и я могу подтвердить свое решение.
Пожалуйста, попробуйте на вашем конце.
Обновить
Протестировано с последним XCode 10.2 и его работоспособностью + они улучшили производительность всей функции Xcode и кода.
Я также сталкиваюсь с той же проблемой, когда я создаю новый профиль из XCode, и если я иду в другие проекты и проверяю там, я также сталкиваюсь с той же проблемой, как показано ниже.
Из-за этой проблемы ни один мой проект не может быть собран со старым профилем и сертификатом.
Странная проблема, поэтому я проверил вновь созданный профиль и сравнил со старым, и обнаружил, что идентификатор приложения неизвестен, а также нет сведений о правах во вновь созданном профиле.
Проверьте скриншоты ниже сравнения старого и нового профиля:
Старый профиль:
Новый профиль:
Таким образом, это означает, что он не может установить идентификатор приложения и права доступа в новом профиле. Что приведет к неработоспособности всего старого профиля и выдаче одинаковых ошибок во всех проектах.
Решение проблемы:
Шаг 1: Перейдите в папку "Профиль обеспечения" (путь: ~ Библиотека ▸ MobileDevice Profile Профили предоставления).
Или используйте ярлык, чтобы перейти прямо в эту папку, как CMD + Shift + G и введите ~/Library/MobileDevice/Provisioning Profiles
он перенаправит ваш искатель непосредственно в папку "Provisioning Profiles".
Шаг 2: Короткая папка по дате изменения.
Шаг 3: Проверьте профиль с неизвестным идентификатором приложения и удалите все неизвестные профили.
Шаг 4: Вернитесь на XCode и убедитесь, что все старые проекты будут работать как положено.
Примечание. Убедитесь, что новое приложение, вызывающее эту проблему, закрыло этот проект. В противном случае он создаст новый профиль с неизвестным идентификатором приложения.
Я надеюсь, что это поможет, и Apple скоро исправит эту ошибку!
Эта проблема была решена, НО некоторые люди все еще имеют проблемы с ней. Если вы один из них, попробуйте следующее:
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
Это должно сработать для вас.
ОБНОВЛЕНИЕ: Это решение все еще работает как на 2019/20 марта 7:00 UTC+0
РЕШЕНИЕ: переустановка Xcode не требуется. Я использовал совершенно новый бесплатный AppleId, но позже проверил мой старый AppleID, и он также работает.
- В Xcode на вкладке General снимите флажок Автоматически управлять подписью
- Закройте Xcode.
Стереть старые профили в
~/Library/MobileDevice/Provisioning Profiles
:cd ~/Library/MobileDevice/Provisioning\ Profiles rm -rf *
На MacOS, запустите Launchpad → Other → Keychain Access и удалите все сертификаты, связанные с разработкой iPhone, как показано на рисунке ниже:
Удалите старое приложение на iPhone. Перезагрузите iPhone и Mac
- Откройте Xcode и измените Идентификатор пакета вашего приложения, по крайней мере, на один символ (позже вы можете отменить это изменение)
- Включить
Automatically manage signing
вариант в Xcode.
После этого вы сможете запускать и отлаживать приложение на своем устройстве.
Если у вас есть проблема "iPhone отклонил запрос на запуск", решение находится в ответе на вопрос переполнения стека iOS 12 iPad Запрет на запуск iPad - Xcode.
Короче говоря, вам нужно в XCode, чтобы перейти в меню Product → Scheme → Edit Scheme... и выбрать Executable: ask on launch.
Похоже, что эта проблема уже решена, и личные учетные записи могут снова автоматически отказаться от своих приложений.
Что касается ответа @Paul, это не связано с удалением Xcode. Это исправлено со стороны сервера.
Единственное, что требуется, это удалить сертификат разработчика Apple (для личной учетной записи) из цепочки для ключей, чтобы XCode попытался сгенерировать и загрузить новый.
Вот решение:
Пусть Xcode будет открытым.
Выберите свою учетную запись разработчика и позвольте ошибке появиться снова.
Перейти к приложению брелок
4.a) Перейти к разделу сертификата
4.b) Удалить все (действительные и недействительные) сертификаты (у меня есть три действительных и многие недействительные!)
После удаления последнего сертификата macOS автоматически создаст новый сертификат для активной учетной записи разработчика.
Запустите ваше приложение в вашем iDevice. Вам нужно ввести системный пароль, чтобы добавить вновь созданный сертификат в связку ключей.
Если во втором запуске это говорит
Ваш iPhone отклонил запрос на запуск
Просто зайдите на:
Продукт → Схема → * изменить схему: снимите флажок "Отладка исполняемого файла"
Я надеюсь, что это решит вашу проблему.
Я получил его на работу, выполнив следующие шаги:
- Перейти к Xcode
- предпочтения
- Счета
- Управление сертификатами
- Знак плюс
- iOS разработка
- Готово
- Скачать руководство Профили
- близко
- Перейти к вашей цели
- Изменить команду разработчиков на нет
- Замените команду разработчиков на вашу предыдущую команду
Он должен работать.
Наконец-то я снова смог развернуться на наших устройствах iOS. Вот шаги, которые я предпринял, чтобы это заработало.
Во-первых, я выполнил все 10 шагов в ответе Замира. Я скопировал их ниже:
- Откройте свой проект в XCode.
- Выберите ваш проект в навигаторе проекта, а затем выберите цель в столбце.
- Перейдите на вкладку " Общие " и в разделе " Подписание " убедитесь, что "Автоматически управлять подписью" включено.
- Перейдите на вкладку " Возможности " и включите настройки "Группы приложений" и "Обмен ключами". Это может вызвать всплывающую ошибку "Автоматическая подпись не удалась", просто нажмите "Отмена", чтобы она исчезла.
- Это должно создать файл разрешений для вас с именем nameProject.entitlements в папке проекта вашего навигатора проекта.
- Переместите этот файл прав вне папки, чуть ниже файла вашего проекта.
- Снова выберите цель и вернитесь на вкладку " Возможности ", чтобы отключить настройки "Группы приложений" и "Общий доступ к брелкам". Это может снова вызвать всплывающую ошибку "Автоматическая подпись не удалась", просто нажмите "Отмена", чтобы она исчезла.
- Теперь выберите ваш проект выше цели и перейдите на вкладку " Настройки здания ".
- Прокрутите вниз до параметра " Идентификация подписи кода" под заголовком " Подписывание" и выберите iOS Developer в каждом раскрывающемся списке.
- Под указанным выше заголовком Подписи дважды щелкните текстовое поле рядом с Правами подписи кода и введите имя файла разрешений nameProject.entitlements.
После выполнения этих 10 шагов два красных сообщения об ошибках в XCode исчезли, и я смог создать и развернуть тестовое приложение XCode на iPhone и запустить его.
Хотя это тестовое приложение XCode можно было создавать и развертывать, я разрабатываю на ПК с использованием Xamarin и не смог развернуть свое приложение Xamarin.iOS на своих устройствах iOS и продолжал получать сообщение об ошибке в Visual Studio: the executable was signed with invalid entitlements
, Я сделал следующее, и теперь я могу развернуть приложение Xamarin и запустить его на своих устройствах iOS:
- Я удалил профиль обеспечения с Mac в
~/Library/MobileDevice/Provisioning Profiles
каталог. XCode немедленно сгенерировал новый предусматривающий профиль (я не уверен, что этот шаг был необходим, но я просто пишу его, потому что это то, что я сделал). - Я изменил свой
Xamarin.iOS.csproj
файл и удалилEntitlements.plist
отCodesignEntitlements
элемент, так что теперь просто выглядит<CodesignEntitlements></CodesignEntitlements>
, Visual Studio автоматически добавила два элемента в одну группу свойств в проекте, которые, вероятно, не нужны, но я подумал, что упомяну:<CodesignExtraArgs />
а также<CodesignResourceRules />
,
Возможно, сообщение на форуме [iOS 12 SDK] - крайний срок март 2019 г. - Legacy Mode может помочь.
В нем говорится о том, что Apple отказывается от создания приложений iOS под SDK 12 по состоянию на март 2019 года (ОП с декабря 2018 года).
Я еще не пробовал это, но это может быть связано с проблемой. У меня есть бесплатная учетная запись разработчика, и я также испытываю эту ошибку.
Вот скриншот на случай, если ссылка изменится (скриншот 1 ниже).
Это ссылка с первого скриншота (скриншот 2 ниже)
1
Для macOS Big Sur Beta
- Архив в Xcode 11
- Загрузить с помощью организатора бета-версии Xcode 12 (Окно -> Организатор)
Существует еще один потенциальный источник этой ошибки. Если у вас нет действующей подписанной настройки сертификата разработки в вашей среде XCode, он выдаст те же ошибки, что и ОП.
Вы можете проверить статус своих сертификатов разработки по ссылке Apple здесь.
Для меня это наконец работает снова. Либо они просто исправили это, либо помогли другие мои шаги:
- Удалите Xcode и все связанные файлы (используя AppCleaner)
- Установите Xcode через App Store
- Изменить идентификатор пакета приложения
- Удалите все ключи iOS Developer из связки ключей
Вот временное решение:
- Изменить идентификатор пакета: Цель → Общие → Идентичность → Идентификатор пакета (установите для него значение, отличное от текущего)
- Изменить версию: Цель → Общие → Личность → Версия
- Отключить исполняемый файл отладки: Продукт → Схема → Редактировать схему (снимите флажок "Отладочный исполняемый файл")
- Удалить профили обеспечения:
~/Library/MobileDevice/Provisioning Profiles
удалить все в этой папке.
Теперь вы сможете создавать и запускать проекты на симуляторах и устройствах.