Установка приложения не удалась из-за разрешения идентификатора приложения

Я не могу установить приложение WatchOS 2 WatchKit из-за права идентификатора приложения. Это произошло после включения групп приложений на вкладке "Возможности".

Полная ошибка:

Установка приложения не удалась

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

Снимок экрана 1

Это приложение запускается в режиме отладки на физическом устройстве. Запуск только iOS-приложения работает нормально.

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

37 ответов

Решение

У меня была эта проблема с приложением iPhone, и я исправил ее, выполнив следующие действия.

  • Когда ваше устройство подключено и Xcode открыт, выберите Window->Devices
  • На левой вкладке всплывающего окна выберите проблемное устройство
  • На панели сведений справа удалите нарушающее работу приложение из списка "Установленные приложения".

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

У меня была эта проблема, и я не смог ее решить, не удалив и не переустановив приложение (работа с профилями обеспечения, как некоторые здесь предложили, не помогла).

Тем не менее, я не потерял свои существующие тестовые данные. Вот как это сделать для тех, у кого в будущем возникнет эта проблема:

  1. Перед удалением приложения откройте окно "Устройства" Xcode (это cmd-shift-2).
  2. Выберите свое устройство и найдите свое приложение в списке "Установленные приложения".
  3. Нажмите на значок шестеренки и выберите "Загрузить контейнер...". Это скопирует все данные приложения на ваш Mac. Сохрани это где-нибудь сейчас.
  4. Удалите приложение и переустановите его из Xcode. Убейте приложение из Xcode (нажмите кнопку остановки), чтобы оно не запустилось.
  5. Вернувшись в окно "Устройства", щелкните значок шестеренки и выберите "Заменить контейнер...". Выберите данные, которые вы загрузили на свой Mac на шаге 3.

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

Вы получите эту ошибку, если ваш префикс AppID не совпадает с префиксом ранее установленного приложения. Если ваше приложение уже находится в App Store, вы не сможете отправлять обновления без восстановления исходного префикса AppID или обращения в Apple.

Инструкции Apple по устранению этой проблемы: https://developer.apple.com/library/content/technotes/tn2319/_index.html

Если вы не намеревались изменить префикс AppID, Xcode подписывает ваше приложение с неправильным профилем обеспечения.

Если вы намереваетесь изменить префикс AppID (поскольку приложение было передано новому разработчику или вы переходите со старого AppID до 2011 года), вы должны связаться с Apple, чтобы перенести существующий AppID в новый префикс.

Вы также должны добавить previous-application-identifiers право на ваше приложение, перечисляя все предыдущие AppID (со старыми префиксами). И вы должны попросить Apple создать для вас профиль обеспечения, который включает previous-application-identifiers право.

Удалите все предыдущие версии приложения с вашего iPhone, а затем снова нажмите "Очистить" - "Создать и запустить". Ваше приложение должно работать без проблем на вашем устройстве.

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

Я решил это без удаления приложения

С проектом, открытым в xcode. Проект -> Настройки сборки -> Подписывание кода -> Предоставление профилей (выпадающий) Возможно, он установлен на автоматический и выбирает неправильный профиль. Откройте раскрывающийся список и выберите правильный вариант, затем снова запустите приложение.

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

Надеюсь, это поможет вам. Всего наилучшего...

Объяснение

Для меня эта проблема возникла из-за того, что я вошел в систему с учетной записью, отличной от учетной записи, с которой я установил приложение на iPhone.

Решение

Просто удалите приложение с iPhone и снова запустите его из Xcode.

Меры

  1. Когда ваше устройство подключено и Xcode открыт, выберите Window->Devices
  2. Теперь выберите приложение и загрузите контейнер, используя значок настройки
  3. Удалить приложение
  4. Установите приложение снова, используя Xcode
  5. Стоп из Xcode
  6. Перейдите в Window-> Device и выберите приложение и замените контейнер, который является резервной копией из предыдущего приложения

Это может быть вызвано префиксом App ID при переключении учетных записей разных разработчиков. См. https://developer.apple.com/library/content/technotes/tn2311/_index.html для поддержки Apple.

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

В моем случае проблема заключалась в том, что Xcode использовал профиль обеспечения, автоматически генерируемый Xcode. Вероятно, это произошло потому, что я приобрел новый компьютер и не перенес профиль обеспечения распространения. Не говоря уже о том, что я не обновлял приложение почти 2 года. Поэтому мой первоначальный профиль обеспечения (который содержит идентификатор приложения Entitlements) давно исчез. Решение: в настройках Xcode-> Учетные записи-> Выберите соответствующий Apple ID-> Просмотреть сведения-> В разделе "Профили подготовки" щелкните правой кнопкой мыши профиль, созданный Xcode для этого приложения (с префиксом XC iOS), и выберите "Переместить в корзину".,

Профили обеспечения XCode под Учетными записями

На веб-сайте разработчика создайте новый профиль распространения с идентификатором вашего приложения. Загрузите новый профиль, дважды щелкните, и Xcode должен автоматически установить его. И наоборот, вы можете вернуться к профилям, перечисленным в XCode, и нажать кнопку "Скачать" рядом с вашим вновь созданным профилем. Создайте приложение и попробуйте запустить снова. Кстати, мой XCode настроен на автоматическое управление подписанием кода, что, кроме этой проблемы, прекрасно работает.

Я была такая же проблема. Bundle.identifier и название проекта должны совпадать. По крайней мере, это была моя проблема.

Это произошло, когда я попытался установить поверх сборки adhoc.

У меня была та же ошибка, и я решил ее, изменив Идентификатор пакета на что-то новое. После этого он без проблем строит проект.

Мои шаги:

  • Открыть Xcode
  • Перейти на вкладку Общие
  • Найти личность
  • Измените Bundle Identifier на что-то новое.

Изменение идентификатора пакета

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

То есть он перешел от com.companyname.appnickname к com.companyname.*

Я создал новый профиль обеспечения с полным именем с правильным именем, загрузил его, настроил профиль Target->build settings->provisioning для этого нового профиля, перезапустил xcode, получил причудливую ошибку от xcode (казалось, это сбивает с толку моего разработчика различных приложений логины), перезапустил xcode снова, и все заработало!

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

Я сам попробовал несколько вещей, таких как обновление / создание новых профилей инициализации, исправление прав в Apple Member Center и в проекте, но в моем случае мне просто пришлось удалить приложение и повторно запустить его.

о_О


Право идентификатора приложения для этого приложения не соответствует установленному приложению.

ПРИМЕЧАНИЕ: там написано "... не соответствует установленному приложению"

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

Удаление основного приложения для iPhone, приложение Watch и сборка их снова решают проблему.

TLDR - удалить приложение с устройства и запустить снова.

В моем случае:
1. Я скомпилировал и запустил приложение на устройстве iPhone.
2. Открываю в настройках Возможности и включаю iCloud
3. Затем я пытаюсь снова запустить приложение, boom, error: "Установка приложения не удалась. Это право идентификатора приложения не совпадает с установленным приложением. Эти значения должны совпадать, чтобы можно было выполнить обновление.

4. Затем я удалил приложение из iPhone (после того, как прочитал ответы здесь)
5.Все работает нормально

У данного приложения есть имя приложения + bundleId. Если вы используете то же имя приложения, но с другим идентификатором пакета, вы получите эту ошибку. Вот так я понял!

К счастью, решение простое. Или:

  • используйте старый bundleId.
  • удалите старое приложение, чтобы новое имя приложения + идентификатор пакета могли работать вместе.

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

Несмотря на то, что я выполнил несколько логических шагов: удаление приложения, перестройка проекта, единственное решение, которое мне помогло, было: перезапустить XCode. (XCode 8.1)

У меня была та же ошибка, пока я не восстановил часы к заводским настройкам по умолчанию, как https://forums.developer.apple.com/thread/17948

"Очевидно, если у вас есть и уже существует приложение WatchOS 1, и вы пытаетесь обновить его до WatchOS 2, идентификатор пакета изменяется и вызывает эту ошибку. Если вы обновляете свои часы, вам нужно будет сделать их сброс, если вы установили приложение WatchOS1, прежде чем обновлять это приложение до WatchOS2 ".

Для людей, которые могут быть частью более чем одной команды, это может быть вашей проблемой:

  • Если идентификатор пакета приложения жестко запрограммирован в вашем Info.plist, тогда Xcode может запутаться и вызвать эту истерику.

Чинить:

  • Убедитесь, что идентификатор пакета установлен как:

    $ (PRODUCT_BUNDLE_IDENTIFIER)

В MacOS Catalina ваш iPhone будет отображаться на боковой панели "Местоположения" окон Finder (если у вас есть настройки Finder, настроенные для отображения внешних устройств) - затем вы можете получить доступ к файлам через опцию "Файлы", которая доступен на панели в верхней части окна, чуть ниже заголовка (в моем случае мне пришлось щелкнуть '>' справа).

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

Принятие ожидающих соглашений с веб-сайта разработчика и веб-сайта iTunes Connect и повторное открытие проекта в X-Code решило ситуацию для меня.

Моей проблемой был идентификатор приложения в сочетании с сертификатом, который использовался для создания профилей обеспечения. Ни один из моих профилей инициализации не работал, потому что ни один из них не был "Elgible" (созданным с помощью сертификата, соответствующего идентификатору приложения). Я перенес разработку на новую машину, так что, возможно, в этом была более глубокая причина. Во всяком случае, мне пришлось создать новый сертификат, а затем новые профили обеспечения с этим сертификатом, чтобы при создании их выбрать правильный идентификатор приложения. Удачи.

В моем случае это было из-за сертификата.

Поскольку мой собственный сертификат для подписи приложения не был частью команды разработчиков (нового сотрудника), обновление приложения из App Store до новой версии было запрещено.

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

немного грязно и сложно, но я надеюсь, что это может кому-то помочь.

Для меня это произошло после обновления до XCode 11, как говорили другие, это проблема с подписью. Что для меня исправило, так это перейти на портал разработчика> Сертификаты и идентификаторы Отредактировать профиль подготовки, который вы используете

Список сертификатов Скриншот

Вы увидите, что есть сертификат для XCode 11 (как показано на скриншоте). Просто установите этот флажок, повторно загрузите профиль и обновите свои проекты, подписывая новый профиль.

Я получил эту ошибку после того, как перешел с 5 на 6. Я восстановил новые 6s из резервной копии старого iPhone. Из-за этого на новом iPhone было установлено старое приложение.

Старое приложение не появилось в списке 6s "Установленные приложения"! Я вручную удалил это старое приложение из 6s, и все было хорошо.

Сегодня я столкнулся с той же проблемой и решил ее, просто изменив отображаемое имя и идентификатор пакета из предыдущего приложения, которое также было установлено на моем iPhone. шаги:

Xcode -> General tab -> Find Identity -> Change Bundle Identifier

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

Мое решение решило проблему всего за 2 шага и без потери данных или необходимости удаления приложения.

  1. Загрузите профиль обеспечения с компьютера Mac, на котором ранее было установлено приложение (щелкните значок «I», затем перетащите значок профиля обеспечения на рабочий стол)

  1. скопируйте профиль обеспечения на новый Mac и откройте его в Xcode (двойной щелчок).

Xcode на новом Mac обновит подготовку, позволяя установку на устройство без каких-либо других действий и без потери сохраненных данных.

Другие вопросы по тегам