Xcode 11.2 - Не вдається встановити файл програми на пристрій?


29

Нещодавно я оновив свою ОС до Каталіни та оновив Xcode до 11.2. Оскільки це роблю, коли я намагаюся запустити версію мого додатка на своєму пристрої, мені просто дається помилка:

Неможливо встановити додаток.

Коли я натискаю "подробиці", він надає мені наступне:

Не вдалося встановити додаток Домен: com.apple.dtdevicekit Код: -402620395 Причина відмови: Дійсний профіль забезпечення для цього виконуваного файлу не знайдено.

Інформація про користувача: {DVTRadarComponentKey = 487927; "Com.apple.dtdevicekit.stacktrace" = (0 DTDeviceKitBase 0x000000011baff6e7 DTDKCreateNSError + 109 1 DTDeviceKitBase
0x000000011baffde9 DTDK_AMDErrorToNSError + 792 2 DTDeviceKitBase
0x000000011bb3f56a 90 [DTDKMobileDeviceToken installApplicationBundleAtPath: withOptions: andError: withCallback:] _ block_invoke + 164 3 DVTFoundation 0x000000010356f156 DVTInvokeWithStrongOwnership + 73 4 DTDeviceKitBase
0x000000011bb3f301 - [DTDKMobileDeviceToken installApplicationBundleAtPath: withOptions: andError: withCallback:] + 5 IDEiOSSupportCore тисячу п'ятсот вісімдесят дев'ять 0x000000011b9c7a25 __118- [DVTiOSDevice (DVTiPhoneApplicationInstallation) processAppInstallSet: appUninstallSet: InstallOptions: completionBlock:] _ block_invoke.352 + 4523 6 DVTFoundation 0x00000001036a03ba __DVT_CALLING_CLIENT_BLOCK
+ 7 7 DVTFoundation 0x00000001036a1a92 __DVTDispatchAsync_block_invoke + 809 8
libdispatch.dylib 0x00007fff68220583 _dispatch_call_block_and_release + 12 9 libdispatch.dylib 0x00007fff6822150e _dispatch_client_callout + 8 10 libdispatch.dylib 0x00007fff68226ace _dispatch_lane_serial_drain + 597 11 libdispatch.dylib 0x00007fff68227452 _dispatch_lane_invoke + 363 12 libdispatch.dylib 0x00007fff68230a9e _dispatch_workloop_worker_thread + 598 13 libsystem_pthread.dylib 0x00007fff6847a71b _pthread_wqthread +290 14 libsystem_pthread. dylib 0x00007fff6847a57b start_wqthread + 15); }

Мої профілі резервування на 100% вірні, як і мої сертифікати. Я поняття не маю, чому це відбувається, і я намагався абсолютно все, щоб його встановити / запустити. Я спробував:

  • Двічі перевірив, що "Схема" випуску перевірена на вкладці "Виконати"
  • Підтверджено, що вибрано правильний профіль надання
  • Видалення програми з мого пристрою
  • Створення нових профілів резервування
  • Зміна мого ідентифікатора пакета
  • Створення нових сертифікатів
  • Очищення папки збірки, перезапуск Xcode
  • Перевстановлення Xcode
  • Видалення папки "Отримані дані"

НІКОЙ із зазначеного не спрацювало. Я вже 2 дні на цьому - допомога вдячна. Єдиний спосіб, коли я можу успішно встановити файл програми на свій пристрій, це якщо я завантажую його в TestFlight спочатку (що я не можу зробити кожен раз, коли хочу перевірити невелику зміну).


Вам вдалося підтвердити це за допомогою другого пристрою?
CodeBender

Так, я намагався встановити додаток на 2 різні пристрої, щоразу одна і та ж помилка. @CodeBender
Бретані

1
Ви згадали, що нещодавно оновили до 11.2, це перший раз, коли ви створили Xcode 11.x? Для профілів розповсюдження на веб-сайті розробника Apple існує нова опція, характерна для Xcode 11, і ви це використовуєте?
CodeBender

1
Також у розділі Файл> Налаштування робочої області в розділі "Збірка системи" що ви вибрали?
шим

1
Це мене ганяє !!! У мене все ще є це питання, і жодне з рішень тут не вирішило його. Чи є інші ідеї?
Георг

Відповіді:


19

Перейдіть у меню Файл -> Налаштування робочої області та переконайтесь, що для вашої системи збірки встановлено Legacy Build System.

Я зіткнувся з тією ж проблемою на Каталіні та Xcode 11.2, і це вирішило це для мене.

Станом на Xcode 11 Apple починає застосовувати деякі критерії збирання, які раніше були потрібні лише для нарощування AppStore для вилучення .ipa та пристроїв.

Поки що я стикався:

  • Вимога вищевказаних усталених системних налаштувань для розгортання пристроїв для старих проектів або проектів, що використовують старіші рамки
  • Видалення невикористаних архітектур для отримання ipa з архіву

Напевно, те саме питання - бачимо дещо іншу помилку, але жодне рішення тут не вирішило. Виконаний файл був підписаний з недійсними правами. Домен: com.apple.dtdevicekit Код: -402620394 Причина відмови: права, зазначені у файлі прав на підписання коду вашої програми, недійсні, не дозволені або не відповідають тим, які вказані у вашому профілі резервування. (0xE8008016).
малюнок

2
@drewster У мене була така ж помилка, і вона стосувалася невикористаних архітектур у збірці. Іноді фреймворки задають архітектури x86 над та над архітектурами. Запуск сценарію, зазначеного в цій статті про те, вирішив проблему для мене.
Lean van

2
Зміна на систему Legacy Build System не працювала для мене на жаль: /
Бретані

1
На це витратили години. Я додав проект у робочу область, який створив рамку, яку я створив як ціль. Потім я вбудував / прив’язав основний проект у робочій області до цього рамкового проекту. Використовуючи нову систему складання в 11.2.1 GM, експорт IN HOUSE тоді на контрольованому пристрої покаже "Не вдалося встановити ...". Читаючи цю публікацію, я перейшов до системи Legacy Build System. Що це зробило, це показати ПОМИЛКИ !!! сказавши мені, що Lipo не міг зняти неправильну архітектуру під час архівування. Тож це вказало в правильному напрямку, і тоді я зафіксував рамку, яка не будувалась належним чином. ДЯКУЮ ЛЕГАЦІЮ!
zumzum

У моєму випадку перехід на спадщину цього не вирішив. Це було пов'язано зі зміною профілю резервування. Я закінчив видалити додаток із пристрою, і тоді установка пройшла успішно.
Костянтинос

8

Ось що для мене працює:

  1. Видаліть додаток і профіль із пристрою
  2. Заново встановіть їх.

Класичне рішення :)
Артур Шкіль

Зустрічаючи цю проблему кілька разів із Xcode 11.3, це найшвидше і найпростіше рішення.
kientux

5

Використовуйте Автоматичне управління підписанням

Вирішіть це питання.

перевірено автоматичне підписання


5

Для мене це пов'язано з динамічними рамками, які я додав у програмі. Спочатку я вибрав (Embed + Don't Sign) варіант для динамічних рамок.

Змінивши його на (Embed & Sign) для таких рамок, вирішив проблему для мене.

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


Щойно доданий зовнішній фреймворк із "Вставити без знака", мав той самий номер. Змінив його на Embed & Sign - молодець!
malex

3

Мені вдається виправити цю проблему під час першого очищення:

cmd + k
shift + cmd + k

а потім я видаляю весь вміст Deriving Data, шлях папки повинен бути таким

/Users/youruser/Library/Developer/Xcode/DerivedData

Або ви можете це перевірити

Xcode -> Preferences -> Locations

0

У мене була така ж проблема, поки я не знайшов це рішення . Мені довелося очистити всі мої старі сертифікати та профілі забезпечення, а потім створити нові сертифікати за допомогою "Apple Development" та "Apple Distribution" замість опції "iOS ...".


0

У мене те саме питання, і проблема полягала в тому, що я використовував неоплачений рахунок і було досягнуто загальної кількості безкоштовних профілів розвитку, тому вам доведеться користуватися платним обліковим записом

деталі:

Причина відмови: досягнуто максимальної кількості програм для безкоштовних профілів розробки


У мене була така ж проблема. Я прочитав подробиці та зрозумів згодом
цукерку

0

Я отримав цю помилку під час запуску проекту, який мав бібліотеку, під Embed Frameworksякою не було встановлено Code Sign on Copyпрапорці. Позначення цього пункту вирішило для мене це питання.


0

"-402620395 Причина відмови: дійсний профіль забезпечення цього виконуваного файлу не знайдено."

У мене це питання було також вирішено:

Це означає, що ваш профіль резервування не налаштований на розробку. Потрібно створити новий профіль забезпечення для розробки, який відрізняється від профілю для набору. Потім, підписуючи та можливості, у налаштуваннях програми на xcode виберіть профіль розробки, якщо ви хочете встановити на своєму пристрої. Не хвилюйтеся щодо розповсюдження вашого профілю розробника, ви повинні вибрати, який профіль ви хочете використовувати при натисканні на магазин додатків (його встановлено на жодне, і вам потрібно переключити його).

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


-1

Apple Xbox 11.2 застаріла 5 листопада 2019 року

Навіть якщо ви можете встановити його на своєму пристрої, ви не можете передавати AppStore: Дивіться тут про журнали

Завантажте останню дійсну для файлів xip- версію AppStore .

Попередній перегляд

У Xcode 11.2 виникли деякі проблеми та виходить з ладу старіші пристрої iOS, і він не встановлюється на новіших пристроях iOS. Тож наразі ви можете:

Отже, рішення:

  1. Оновіть macOS до 10.15.1
  2. Встановіть Xcode 11.2.1 GM насіння
  3. Створіть та встановіть додаток на оновленому пристрої (13.2.2 зараз не працює)

Завантажуючи Xcode 11.2.1 GM-насіння зараз, я дам вам знати, чи вирішить це питання. Радий, що не тільки я - починаю відчувати, що я приймаю шалені таблетки за допомогою Xcode 11.2.
Бретані

2
На основі пов'язаної публікації SO, збій стосується пристроїв до iOS 13, у яких є a UITextView. Про проблеми з установкою "на новіших пристроях iOS" немає нічого
шим

Цей пост містить багато посилань, оскільки Apple виробляє хаос. @shim, але зараз Apple приймає цю проблему і повністю знімає Xcode 11.2 та видаляє її з AppStore.
Mojtaba

3
Ця відповідь не стосується проблеми. Я перевірив розгортання програми за допомогою Xcode 11.2.1, і проблема все ще зберігається. Єдиний спосіб я змогла застосувати додаток до пристрою з Xcode 11.2.1 - встановити "Файл -> Налаштування робочої області-> Система побудови" на "
Lean van

Так @Brittany який був результат? Це спрацювало?
Мойтаба Хоссейні

-1

Це питання стосується лише ПІДПИСУВАННЯ КОДУ

Але ключовим моментом, який слід зазначити тут, є, якщо ви використовуєте XCode 11.x версію. Не тільки підписання коду у вашому проекті, але ми повинні перевірити підписання коду у SDK третьої сторони або залежності, які ми додамо до нашого проекту.

Кроки для перевірки кодування підпису сторонніх пакетів SDK:

  1. Завантажте необхідний вихідний код рамки
  2. Відкрийте файл .xcproj з вихідного коду за допомогою XCode 11.x
  3. Перейдіть до Цілей -> Підписання та можливості -> Виберіть усі вкладки -> Ідентифікатор групи Якщо ви побачите будь-які нерівності в ідентифікаторі, наприклад, ідентифікатор з чотирма сеператорами (наприклад: com.company.mac.app)

    Змініть його на com. * І введіть.

  4. Переконайтесь, що ваш XCODE COMMAND LINE TOOLS встановлений з XCode 11.x

  5. Тепер скористайтеся командою нижче, щоб відновити SDK, із змінами, зробленими вище кроком-3

      carthage build --no-skip-current --cache-builds --platform iOS
  6. Тепер скопіюйте рамки, згенеровані з папки картриджів вихідного коду, та замініть існуючий SDK у вашому проекті.

Повторіть те саме для процесу для всіх сторонніх SDK у вашому проекті.

Примітка: Переконайтеся , що ви відзначили всі 3 учасники SDKs , як Вставити та входу в

Targets => General => Frameworks, Libraries, and Embedded Content

-1

Це може бути пов'язано із запущеною схемою розподілу / випуску. Зміна схеми налагодження працює для мене. Сподіваюся, що це комусь допоможе.

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

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


-2

Відповідь у наступному коментарі: https://stackoverflow.com/a/50719379/10353503


1
Будь ласка, опублікуйте більше, ніж просто посилання, якщо відповідь, на яку ви посилаєтесь, буде видалена в майбутньому. Тому, будь ласка, скажіть кілька слів про вміст за посиланням. Дякую
те
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.