Заявлено, что установка прошла успешно, но приложение не найдено на устройстве


81

Xcode дал мне это сообщение:

Не удалось найти установленное приложение. Заявлено, что установка прошла успешно, но приложение не может быть найдено на устройстве. bundleId = (ноль)

Я только начал использовать стручки.

Как это исправить?


2
За последний месяц мы получили ряд сообщений об этом в виде радаров. Ни один из отчетов не содержал системного диагноза от хоста или устройства. Я отправил их все обратно, чтобы получить данные от создателей, но до сих пор никто не предоставил действенных данных для расследования ошибки. Не могли бы вы зарегистрировать радар (используйте Feedback Assistant или перейти на bugreport.apple.com) и включить системный диагноз как с устройства, так и с хоста Mac? Благодарю.
Джереми Хаддлстон Секвойя

1
Из ответов ниже кажется, что это проблемы в устанавливаемых приложениях, и проблема в том, что Xcode думает, что приложение было установлено, когда оно действительно не удалось установить. Действительно, при нацеливании на симулятор существует гораздо лучший отчет об ошибках, поэтому я предлагаю сделать это, чтобы раскрыть реальную проблему. Мне все еще интересно выяснить, почему устройство не сообщило о проблеме с установкой, поэтому, пожалуйста, отправьте радар с sysdiagnoses. Благодарю.
Джереми Хаддлстон Секвойя

1
Пожалуйста, дайте мне знать номер FBA. Благодарю. Пожалуйста, убедитесь, что он включает в себя системную диагностику с устройства и Mac.
Джереми Хаддлстон Секвойя

2
Я также столкнулся с этим в приложении React Native, которое я поддерживаю. Мне удалось успешно установить приложение на симулятор, но эта ошибка появляется каждый раз, когда я пытаюсь запустить на устройстве.
Стив Гаттузо,

2
Я до сих пор не получил ни одного радара по этому поводу, который содержит систему диагностики устройства и хоста. Пожалуйста, отправьте радар (или включите эти данные в файл радара).
Джереми Хаддлстон Секвойя

Ответы:


61

Я столкнулся с той же проблемой при тестировании приложения Cordova на iOS 13 через XCode 11 Beta 4. Построение через устаревшую систему решило ее (Файл> Настройки рабочего пространства ...> Система сборки> Устаревшая система сборки).

Надеюсь, поможет


7
Я нашел это в File> Project Settings ...> Shared Project Settings:> Build System
markdon

1
Это сработало для меня. Хотя я уже знал, что это то, что я полностью забыл, потому что Xcode 11 теперь обрабатывает ошибки по-другому. Под этим я подразумеваю, что для той же проблемы ошибка отличается от предыдущей.
Виктор Рамос,

3
У меня это не сработало. Я получаю одну и ту же ошибку в обоих случаях.
Саад Куреши

У меня это тоже не сработало. Я использую Xcode 11 под macOS 10.14.6, создаю цель iOS 10.0 и пытаюсь установить на устройстве iOS 10.3.4.
eldes

28

Я решил эту проблему, выполнив типичные шаги очистки проекта:

  • Продукт -> Чистый.
  • Окно -> Проекты -> Выберите свой проект и удалите производные данные.
  • Закройте XCode.
  • Открыть проект повторно.

17

Это проблема с подписью кода. Xcode 11 требует, чтобы вы добавили сертификат «Apple Development» в свой профиль обеспечения разработки, который они автоматически добавили в ваши сертификаты и профили. Добавьте этот сертификат в свой профиль, повторно загрузите свой профиль разработки и vwala.


Это верно для Xcode 11. Мне пришлось отредактировать свой профиль разработки на ( developer.apple.com ) и добавить сертификаты Для использования в Xcode 11 или новее
wael

1
Все вышеперечисленные решения не сработали для меня. Это единственное решение, сработавшее для меня. Спасибо @Justin Haar
gstream79

Для меня это помогло снова выбрать «Автоматически управлять подписью», и xcode добавил сертификат разработчика в дополнение к сертификату распространения
randomcontrol

15

В Xcode 11 beta 5 у меня была такая же ошибка. Мне не удалось установить приложение. Я даже загрузил приложение в App Store Connect, затем попытался установить с помощью TestFlight, но приложение не удалось установить после загрузки, что очень странно. Нет ошибок от App Store Connect. Я обнаружил проблему, запустив приложение с симулятором. После запуска приложения на симуляторе Xcode выдал мне подробное сообщение об ошибке. В моем случае у меня было несколько фреймворков с одинаковыми идентификаторами пакетов.


3
То же самое для меня, работая над SiriKit Intents . По какой-то причине это продолжает происходить, когда вы изменяете .intentdefinitionфайл, он добавляет все BundleID во все файлы расширений Info.plist. Просто проверка того, что каждый из них выглядит только по одному, решила эту проблему для меня ...
thisIsTheFoxe

2
@thisIsTheFoxe Как вы проверяли наличие нескольких идентификаторов пакетов в информационном листе расширения? Я тоже сталкиваюсь с той же проблемой в намерениях Sirikit.
Аравинд

Моя проблема была также с намерениями SiriKit (Xcode 11 beta 7). Запуск его на Simulator дал точную ошибку: «Намерения Siri в приложении WatchKit не являются подмножеством намерений Siri в сопутствующем приложении com».
Митхил Джадхав

12

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

В моем случае я использую бесплатную учетную запись разработчика Apple и получил эту ошибку после попытки установить 4-е приложение. Предел установки для бесплатных учетных записей - 3. Я удалил одно из 3 приложений, которые у меня уже были, и установка прошла должным образом.


Ничего себе, это было причиной моей проблемы. Так глупо ... Удалил 1 приложение с телефона и оно установилось.
Дэнни Браун

9

У меня такая же ошибка:

Не удалось найти установленное приложение. Заявлено, что установка прошла успешно, но приложение не может быть найдено на устройстве. bundleId = (MY_BUNDLE_ID) "но с MY_BUNDLE_ID вместо" null

Я получил эту ошибку после обновления Xcode11

Решение:

У моего проекта и ProjectTests была разная команда разработчиков. У проекта была команда владельцев, у ProjectTests была личная команда

И у меня не было возможности сменить команду на владельца через интерфейс Xcode. Поэтому я делаю это в настройках сборки - только что вошел в мою команду (автоматизация управления сертификатами тоже включена).

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


В заключение. Я потратил целый день, пытаясь это исправить, и этот ответ мне помог!
Niebieski

8

В моем случае я использовал семя Xcode 11 GM с бета-версией iOS 13, и у меня было подписание кода для ручного (распространения), поскольку «Автоматический» не работал. Я попросил агента моей группы разрешить моему пользователю роль «Администратор», зашел на портал разработчика Apple и отредактировал «недопустимые» профили подготовки, чтобы установить флажок, явно упоминающий «Xcode 11». После того, как я загрузил профиль, агент моей команды вернул мою роль «члену», и все прошло хорошо.


1
Ты подтолкнул меня в правильном направлении. Все, что мне нужно было сделать, это включить «автоматическое управление подписью»
SEG.Veenstra

8

Xcode 11 (11a420a)

Я столкнулся с аналогичной проблемой, попробовал все вышеперечисленные решения (например, переход на устаревшие версии, очистку и сборку и т. Д.) ... но в конечном итоге решение было с использованием внешней структуры, которую я использовал, я решил это, изменив параметр на Embed & Подписать из Embed без подписи ..... Не уверен, что это может быть проблема Xcode


6

РАБОЧЕЕ РЕШЕНИЕ КАРТАСАЖА

  1. Перейдите в Project General-> Frameworks, Libraries, and Embedded Contentи измените структуру Do Not Embed(в моем случае проблема была Alamofire.framework )

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

  1. Перейдите Build Phases, выберите + New Run Scrip Phase, вставьте /usr/local/bin/carthage copy-frameworksдля оболочки сценария, а для Input filesдобавления$(SRCROOT)/Carthage/Build/iOS/Alamofire.framework

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

Теперь должно работать 🥳


5

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

Ни одно из других решений, перечисленных здесь, не помогло мне.


4

Это случилось со мной совсем недавно, когда я обновился до Xcode 11; если вы тестируете устройство, перейдите в «Настройки сборки», затем измените все на «Разработчик iOS» в разделе «Идентификация подписи кода». Это ДОЛЖНО исправить проблему. Затем, когда вы будете готовы к запуску, убедитесь, что у вас настроено распространение iOS.


3

В моем случае это была проблема с подписью кода (я использую ручную подпись кода). Мне пришлось переключиться с iOS Distributionна iOS Developerна Any iOS SDKключ:

Проблема с подписью кода

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

Xcode 11


Мужчина! Вы спасатель! Спасибо :)
iHarshil

3

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

Мое решение заключалось в том, чтобы сначала установить приложение как боковую загрузку, а затем запустить приложение обычным способом (Cmd + R).

Во-первых, сделайте IPA вашего проекта (есть много способов сделать это, я сделал это, сжав папку с именем Payload с файлом приложения. Вы можете выбрать другие способы, все, что вам нужно, это файл IPA).

Затем откройте устройства и симуляторы (Cmd + Shift + 2) в Xcode.

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

Теперь нажмите маленькую кнопку с плюсом (+) в разделе УСТАНОВЛЕННЫЕ ПРИЛОЖЕНИЯ, и вам будет предложено выбрать IPA. Выберите свой IPA, и он будет установлен на устройство.

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

Просто нажмите Cmd + R, и ваш проект запустится на устройстве.


3

В моем случае проблема была обнаружена с помощью журнала консоли, просматривающего журналы. Я вижу ошибку installdпроцесса, говорящую, что с моим plist.infoфайлом что-то не так . Он не сказал, что именно, но исправление моего файла plist решило это. В моем случае у меня было 3 файла plist (iPhone, часы и расширение для часов), проблема была в моем watch plist.infoфайле (я добавил NSLocationAlwaysUsageDescriptionслучайно, удаление этого решило проблему).


Это помогло мне найти проблемную основу. Нашел запись в консоли, где installdнапечатано Failed to verify code signature of .../raygun4apple.framework : 0xe8008015 (A valid provisioning profile for this executable was not found.). Как только я выбрал «Вставить и подписать» для raygun4apple, все отлично заработало.
uson1x

1
У меня была аналогичная проблема, но в моем Info.plist в моем расширении WatchKit отсутствовала CFBundleVersionстрока. По какой-то причине он был пуст. Я обнаружил фактическую ошибку в журналах консоли самого iPhone. Но Xcode 11 продолжал кричать, что не может найти приложение после нескольких попыток.
Tap Forms

1
Это была моя проблема, я случайно добавил ключ в info.plist часов. Спасибо бенчук.
danfordham

2

Для IOS 13 при установке приложения с Xcode-beta единственное, что сработало, - это перезагрузить телефон, подключенный к компьютеру.


2

Исправлена ​​моя. Был вызван тем, что фреймворк Alamofire (через Carthage) не копировался на этапе сборки (раньше был в разделе встроенных библиотек в Xcode, но теперь его нет, и выбор типа встраивания не работал).

Тело скрипта: /usr/local/bin/carthage copy-frameworks Пути $(SRCROOT)/Carthage/Build/iOS/Alamofire.frameworkдля входных файлов и$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Alamofire.framework для выходных .

Надеюсь, это поможет или позволит вам найти решение.


2

Я видел эту ошибку с выбранным профилем обеспечения / сертификатом подписи «Распространение iPhone» - она ​​исчезла, когда я переключился на «Разработчик iPhone»


2

Я наконец нашел исправление (по крайней мере, для меня)

Я столкнулся с этой проблемой (которая появляется из ниоткуда), и, возможно, это проблема с сертификатом Dev / Production. У меня есть ручная конфигурация для "подписи и возможностей", поэтому, когда я переключаюсь на автоматический, просто устраните проблему. (Извините за мой плохой английский)


2

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

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

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


1

Я столкнулся с этой проблемой и заметил это в журнале:

-[MIBundle pluginKitBundlesSkippingPlatformValidation:withError:]: Ignoring plugin at (path to my app extension) because it doesn't work on this OS version

Обновление версии Deployment Target в настройках сборки для моего расширения исправило это.


1

Для меня проблема была связана с библиотекой Alamofire, загруженной вместе с Carthage. Обязательно выберите «Не вставлять» и позвольте Карфагену скопировать библиотеку.


Где выбрать не вставлять?
Nirav Patel

1

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

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

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

Зная, что случилось, я мог просто убрать подпись:

codesign --remove-signature Some.framework


1

Это вызвало на моем проекте из-за расширения Siri. На «Фазах сборки» «Встроить расширение приложения» удалите сборку xxxSiriExtension.appex и добавьте ее снова. Это решено в моем проекте


1

Это было рассмотрено в Xcode 11.2 . С Xcode 11.2 вы должны теперь получить ошибку, указывающую на то, что приложение не удалось установить, а не ошибку, указывающую, что оно установлено, но не запустилось. Ошибка также должна содержать некоторые сведения о том, почему установка не удалась. Если деталей недостаточно, я предлагаю нацелить на симулятор, а не на реальное устройство, поскольку это должно привести к более высокой ошибке точности.


1

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

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


0

Как ни странно, переименование корневой папки моего проекта во что-то другое помогло мне. Вероятно, причиной было какое-то кеширование xcode где-то с существующим именем папки.


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

0

У меня была такая же проблема, когда я работал над расширением акций. Ни одно из предложенных здесь решений не помогло мне.

Я позаботился об отладке и регистрации. Мне не удалось отладить и / или зарегистрировать. Сначала я подумал, что расширение не работает, но провел тест и убедился, что оно действительно выполняется, но по какой-то причине я не смог отладить или зарегистрировать.

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

  1. Установите активную схему на желаемое расширение (с верхней панели или из Product/Scheme/Choose-Your-Scheme
  2. Debug/Attach to Process by ID or Name.... Затем введите имя расширения или его идентификатор пакета.
  3. Добавьте точки останова, где вы хотите добавить журналы. Отредактируйте точку останова. Добавьте действие (сообщение журнала) и введите нужный журнал. Проверить Automatically continue after evaluating the actions.

Здесь вы можете найти мой вопрос без ответа.


0

Я исправил свой, перейдя в Настройки сборки> Идентификация подписи кода> Отладка. Убедитесь, что у вас есть соответствующий «сертификат разработки».


0

в верхней части окна Xcode, рядом с запуском / остановкой щелкните значок вашего приложения и выберите управление схемами. Убедитесь, что при запуске и тестировании используется конфигурация сборки «Отладка». Xcode изменил их на «выпуск». Не спрашивай меня почему! Использование Xcode v 11 (11a420a)


0

Для меня это было то, что у меня был сценарий этапа сборки, который был предназначен для удаления архитектур симулятора из приложения (на тот момент, когда он опубликован в App Store).

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

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