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


304

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

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

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

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

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

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

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


Вы смогли найти исправление?
prasad1250 22.09.15

1
Да, ответ от @ john-nesbitt добился цели
Рик Сантос

1
Что касается «почему», то это происходит (может быть полезно перечислить), в моем случае, при изменении учетной записи разработчика. Был установлен на учетную запись A и пытался запустить ее после перехода на учетную запись B. (У меня нет файла прав в проекте).
bauerMusic

Сначала проверьте второй ответ, он более всеобъемлющий и не приведет к потере данных.
Аркади Боб

Ответы:


746

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

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

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


59
Это сотрет приложение и все его содержимое. Мне нужно обновить и не потерять все мои данные в процессе, если это возможно.
Роберт Гаммессон

65
Таким образом, вы удалили приложение
Railwayparade

6
Мое приложение не отображалось в списке Windows-> Устройства, но я удалил его с телефона (нажав и удерживая значок), что устранило проблему. Спасибо Джон.
Стив А

16
Я хочу проверить миграцию приложения на новую версию и не могу этого сделать, если удаляю существующее приложение (версия AppStore) с устройства.
mixtly87

3
Конечно, это работает, но в моем случае проблема в том, что я должен делать это каждый раз, когда другой человек из команды использует одно и то же устройство, что раздражает, поэтому удаление не является хорошим решением!
v01pe,

97

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

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

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

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


3
Это особенно хорошо работает при использовании функции «автоматического обеспечения» в Xcode 8.
Стив Мэдсен

2
Я действительно хотел бы, чтобы я прочитал это, прежде чем использовать ответ. Тогда данные о состоянии были бы сохранены. (См. Мой комментарий выше).
Тим Махер-де Тройер

1
Это должен быть выбранный ответ.
галактикух

100% правильный ответ, ЕСЛИ ВЫ НЕ ХОТИТЕ ПОТЕРЯТЬ ДАННЫЕ. Должен быть принят ответ.
Аркади Боб

У меня такой же сценарий, но мои полезные данные в Userdefaults. Можем ли мы его восстановить? Помощь приветствуется
Рахиш

29

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

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


28

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

Инструкции Apple по решению этой проблемы: https://developer.apple.com/library/content/technotes/tn2319/_index.html#//apple_ref/doc/uid/DTS40013778-CH1-ERRORMESSAGES-UPGRADE_S_APPLICATION_IDENTIFIER_MAT

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

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

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


2
Срок действия моего профиля с подстановочными символами, который я использовал для разработки, истек, и я по ошибке создал приложение для конкретного приложения. Прочитав ваш пост, я создал новый профиль с подстановочными символами и использовал его. Работал как шарм. Ваш самый точный пост и должен быть принятым ответом. Удаление приложения и потеря данных не является хорошим вариантом для многих из нас. Спасибо!
Неописать

17

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

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


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

5

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

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


4

меры

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

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


2

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

о_О


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

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

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


да, удалите установленное приложение на вашем устройстве и перезапустите из Xcode. У меня была эта проблема, потому что я добавил цель в XCode.
Сайед Асад Али

2

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

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

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

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


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

2

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

Мои шаги:

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

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


2
Это не работает, если вы хотите протестировать обновление приложения.
Рафаэль Оливейра

2
Изменяя идентификатор пакета, вы фактически создали совершенно новое приложение.
Стив Мэдсен

2

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


1

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


1

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

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


Мне также пришлось восстановить заводские настройки часов. Перепробовал все другие соответствующие предложения, но безрезультатно. Также были обновлены все профили обеспечения, чтобы убедиться, что они соответствуют правам. Моя ситуация была такой, как описано здесь: У меня было приложение WatchOS 1, которое я пытался обновить до WatchOS 2.
Рен

1

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


1

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


1

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

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

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

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


1

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

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

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


1

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

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

Исправить:

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

    $ (PRODUCT_BUNDLE_IDENTIFIER)


0

Принятый ответ не работал для меня. Чтобы это работало, мне пришлось сбросить Apple Watch до последней доступной резервной копии.


0

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

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


0

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


0

Это легко решается удалением предыдущего приложения с вашего устройства. И начать переустанавливать снова. Это прекрасно работает для меня.


0

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

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

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


0

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

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

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

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


0

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


0

Ни один из ответов выше не работал для меня. Моя проблема: я установил версию приложения из Testflight, поэтому я просто удалил и старое приложение, и версию Testflight и снова работаю.


0

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


0

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

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

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


0

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.