Встановлення стверджується, що воно успішне, але програму не вдається знайти на пристрої


81

Xcode дав мені таке повідомлення:

Не вдалося знайти встановлену програму. Встановлення стверджується, що вона успішна, але програму не вдається знайти на пристрої. bundleId = (null)

Я щойно почав використовувати стручки.

Як це виправити?


2
За останній місяць ми отримали ряд повідомлень про це як радари. Жоден з звітів не містив системного діагнозу з хосту та пристрою. Я послав їх усіх назад, щоб отримати дані від авторів, але до цих пір ніхто не надав дієвих даних для розслідування помилки. Чи можете ви, будь ласка, подати радар (скористайтеся Помічником зворотного зв'язку або перейдіть на сторінку bugreport.apple.com) і включити системну діагностику як з пристрою, так і з хост-мака? Дякую.
Джеремі Хаддлстон, секвойя,

1
З наведених нижче відповідей здається, що це проблеми в програмах, які встановлюються, і проблема полягає в тому, що Xcode думає, що додаток було встановлено тоді, коли його фактично не вдалося встановити. Дійсно, є набагато кращі звіти про помилки при націлюванні на симулятор, тому я пропоную зробити це, щоб виявити справжню проблему. Мені все ще цікаво з’ясувати, чому пристрій не повідомив про проблему встановлення, тому, будь ласка, надішліть радар із системою діагностики. Дякую.
Джеремі Хаддлстон, секвойя,

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

2
Я також стикався з цим у програмі React Native, яку я підтримую. Мені вдалося успішно встановити програму на симуляторі, але ця помилка з’являється щоразу, коли я намагаюся запустити на пристрої.
Стів Гаттузо,

2
Я все ще не отримав жодного радару щодо цього, який містить пристрій і системну діагностику хоста. Будь ласка, подайте радар (або включіть ці дані до радарів, які ви подаєте).
Jeremy Huddleston Sequoia

Відповіді:


61

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

Сподіваюся, це допоможе


7
Я знайшов це у меню Файл> Налаштування проекту ...> Спільні налаштування проекту:> Побудувати систему
markdon

1
Це спрацювало для мене. Незважаючи на те, що я вже знав, що це річ, я зовсім забув, оскільки Xcode 11 тепер обробляє помилки по-різному. І я маю на увазі, що помилка відрізняється від попередньої для тієї самої проблеми.
Віктор Рамос,

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

Це теж не спрацювало у мене. Я використовую Xcode 11, під macOS 10.14.6, будуючи цільову iOS 10.0 і намагаюся встановити на пристрої 10.3.4 iOS.
eldes

28

Я вирішив цю проблему, виконавши типові кроки проекту:

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

17

Це проблема підписання коду. Xcode 11 вимагає від вас додати сертифікат "Розробка Apple" у свій профіль підготовки розробників, який вони автоматично додавали до ваших сертифікатів та профілів. Додайте цей сертифікат у свій профіль, перезавантажте свій профіль розробки та vwala.


Це вірно для Xcode 11 Я повинен був змінити свій профіль розвитку на ( developer.apple.com ) і додати сертифікати для використання в Xcode 11 або пізнішої версії
Ваель

1
Всі вищезазначені рішення для мене не працювали. Це єдине рішення, яке працювало для мене. Дякую @Justin Haar
gstream79

Мені допомогло знову вибрати "Автоматично керувати підписанням", а xcode додав сертифікат розробника додатково до сертифіката розповсюдження
randomcontrol

15

У Xcode 11 beta 5 у мене була та ж помилка. Не вдалося встановити програму. Я навіть завантажив програму в App Store Connect, потім спробував встановити за допомогою TestFlight, але програму не вдалося встановити після завантаження, дуже дивно. Немає помилок у App Store Connect. Я знайшов проблему, запустивши програму за допомогою Simulator. Після запуску програми на симуляторі Xcode дав мені докладне повідомлення про помилку. У моєму випадку у мене було кілька фреймворків з однаковими ідентифікаторами Bundle.


3
Те саме для мене, що працює над SiriKit Intents . З якоїсь причини це постійно відбувається, коли ви змінюєте .intentdefinitionфайл, він додає всі BundleID до всіх файлів Info.plist розширення. Просто перевірка того, що кожен з них лише один, вирішила це для мене ...
thisIsTheFoxe

2
@thisIsTheFoxe Як ви перевірили наявність кількох пакетних ідентифікаторів в інформаційному списку розширення? Я теж стикаюся з тим самим питанням у намірах Sirikit.
Aravind

Моя проблема також була з SiriKit Intents (Xcode 11 beta 7). Запуск його на Simulator дав точну помилку: "Siri Intents у додатку WatchKit не є підмножиною Siri Intents у супутньому додатку com".
Mithil Jadhav,

12

У мене була така сама точна помилка, але жодне з наведених вище рішень не спрацювало для мене.

У моєму випадку я використовую безкоштовний обліковий запис розробника Apple і отримав цю помилку після спроби встановити четверту програму. Обмеження встановлення для безкоштовних облікових записів - 3. Я видалив одну з 3 програм, які у мене вже були, і установка працювала належним чином.


WOW це стало причиною мого випуску. Так безглуздо ... Видалено 1 додаток із мого телефону та встановлено.
Danny Brown

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)

Я зіткнувся з подібною проблемою, спробував усі вищезазначені рішення (наприклад, перехід на застарілу версію, очищення та збірка тощо) ... але врешті-решт рішення було у зовнішньому фреймворку, який я використовував, я вирішив це, змінивши параметр Вбудовувати Підписати з Вбудувати без підпису ..... Не впевнений, що це може бути проблемою 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 Distribution.


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 просто видавав, що не може знайти програму після декількох спроб.
Торкніться Форми

1
Це була моя проблема, я випадково додав ключ до списку годинника. Спасибі бенчуку.
Данфордхем,

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

Нарешті я знайшов виправлення (принаймні мені)

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


2

Спробуйте це, це рішення працює для мене. Увімкнути копіювання лише під час встановлення опції вбудувати розширення додатків у налаштуваннях цілі «BUILD Phases».

Спочатку спробуйте виконати додаток на симуляторі, щоб це також призвело до помилки на тренажерах.

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


1

Я зіткнувся з цією проблемою і помітив це в журналі:

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

Оновлення версії цілі розгортання у налаштуваннях збірки для мого розширення це виправило.


1

Для мене ця проблема стосувалася бібліотеки Alamofire, яку завантажили разом із Карфагеном. Обов’язково виберіть «Не вбудовувати» і дозвольте Карфагену скопіювати бібліотеку.


Де вибрати не вбудовувати?
Нірав Патель

1

Я спробував майже кожну відповідь на це запитання, перш ніж помітив, що бенчук використовував консоль, щоб з’ясувати, чому у нього проблема.

Я шукав у консолі installd і виявив, що "жирний" фреймворк, який я додав до свого проекту, насправді був підписаний.

Підпис не відповідає решті програми, що призвело до тихого збою встановлення.

Знаючи, що не так, я міг просто видалити підпис:

codesign --remove-signature Some.framework


1

Це спричинило для мого проекту через розширення Siri. У розділі "Фази побудови" "Вбудувати розширення програми" видаліть xxxSiriExtension.appex і додайте його знову. Це вирішено на моєму проекті


1

Це було розглянуто в Xcode 11.2 . З Xcode 11.2 тепер ви повинні отримати помилку, яка вказує на те, що програму не вдалося встановити, а не помилку, яка вказує на те, що вона встановлена, але не вдалося запустити. Помилка також повинна містити деякі деталі щодо того, чому не вдалося встановити. Якщо деталей недостатньо, я пропоную націлити пристрій симулятора замість справжнього пристрою, оскільки це повинно спричинити більшу помилку вірності.


1

Це трапляється, коли ви намагаєтеся запустити програму на пристрої за допомогою профілів підготовки для App Store. Переконайтеся, що ви використовуєте Програми розвитку або Adhoc.

Ще однією причиною цього може бути те, що ви можете запустити якийсь сценарій вилучення архітектури для генерації 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.