Xcode 11.2 - Невозможно установить файл приложения на устройство?


29

Я недавно обновил свою ОС до Catalina и обновил 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
Также в File> Workspace Settings под "Build System" что вы выбрали?
прокладка

1
Это сводит меня с ума !!! У меня все еще есть эта проблема, и ни одно из решений здесь не решило ее. Есть ли другие идеи?
Георг

Ответы:


19

Перейдите в Файл -> Настройки рабочего пространства и убедитесь, что ваша система сборки установлена ​​в Legacy Build System.

Я столкнулся с той же проблемой на Catalina и Xcode 11.2, и это решило ее для меня.

Начиная с Xcode 11 Apple начинает применять некоторые критерии сборки, которые ранее требовались только для сборок AppStore на основе извлечения .ipa и сборок устройств.

До сих пор я столкнулся с:

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

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

2
@drewster У меня тоже была та же ошибка, и она была связана с неиспользуемой архитектурой в сборке. Иногда фреймворки будут определять архитектуры x86 сверх архитектуры arm. Запуск сценария, указанного в этой статье, решил эту проблему для меня.
Лин ван Херден

2
К сожалению,
Бретань,

1
Потратил на это часы. Я добавил проект в рабочую область, который создал основу, которую я создал как цель. Затем я встроил / связал основной проект в рабочей области с этим базовым проектом. При использовании новой системы сборки в 11.2.1 GM при экспорте IN HOUSE на контролируемом устройстве будет отображаться сообщение «Не удалось установить ...». Прочитав этот пост, я переключился на Legacy Build System. Что это сделал, это показать ОШИБКИ !!! говоря мне, что lipo не может лишить архитектуру неправильной архитектуры при архивировании. Так что это указало в правильном направлении, и я тогда исправил структуру, которая не была собрана должным образом. СПАСИБО ВАМ!
Zumzum

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


5

Использовать автоматическое управление подписью

Решите эту проблему.

проверено авто подпись


5

Для меня это связано с Динамическими Каркасами, которые я добавил в приложение. Первоначально я выбрал (Embed + Don't Sign) вариант для динамических структур.

Изменение его (Embed & Sign) для таких платформ решило проблему для меня.

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


Только что добавленный внешний фреймворк с «Embed Without Sign», имел ту же проблему. Поменял его на Embed & Sign - молодец!
Малекс

3

Мне удается решить эту проблему, когда я впервые чищу:

cmd + k
shift + cmd + k

а затем я удаляю все содержимое Deriving Data, путь к папке должен быть таким

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

Или вы можете проверить это в

Xcode -> Preferences -> Locations

0

У меня была такая же проблема, пока я не нашел это решение . Мне пришлось очистить все мои старые сертификаты и профили обеспечения, а затем создать новые сертификаты с помощью «Apple Development» и «Apple Distribution» вместо опции «iOS ...».


0

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

детали:

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


У меня такая же проблема. Я прочитал Подробности и понял потом
candyline

0

Я получил эту ошибку при запуске проекта с библиотекой, в Embed Frameworksкоторой не было Code Sign on Copyпроверки. Чек-галочка это решает эту проблему для меня.


0

«-402620395 Причина ошибки: не найден действительный профиль обеспечения для этого исполняемого файла».

У меня была эта проблема, и я решил ее:

Это означает, что ваш профиль обеспечения не настроен для разработки. Вам необходимо создать новый профиль обеспечения для разработки, который отличается от набора профилей для распространения. Затем в настройках подписи и возможностей в настройках своего приложения на xcode выберите свой профиль разработки, если вы хотите установить его на свое устройство. Не беспокойтесь о распространении с вашим профилем разработчика, вы должны выбрать, какой профиль вы хотите использовать при отправке в магазин приложений (для него установлено значение none, и вам нужно его переключить).

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


-1

Xcode 11.2 устарела Apple 5 ноября 2019 года

Даже если вы можете установить его на свое устройство, вы не можете пройти AppStore: см. Здесь для журналов

Загрузите последнюю действительную версию xip файла AppStore .

предварительный просмотр

Xcode 11.2 имел некоторые проблемы и вылетал из старых устройств iOS и не устанавливался на более новые устройства iOS. Итак, на данный момент вы можете:

Итак, решение:

  1. Обновите macOS до 10.15.1
  2. Установите Xcode 11.2.1 GM seed
  3. Создайте и установите приложение на обновленном устройстве (13.2.2 вышла)

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

2
Основываясь на связанном сообщении SO, сбой относится к устройствам до iOS 13, которые имеют UITextView. Там нет ничего там о проблемах при установке «на новых IOS устройств»
регулировочная шайба

Этот пост содержит много ссылок, так как Apple производит хаос. @shim, но теперь Apple принимает проблему, полностью отказывается от Xcode 11.2 и удаляет ее из AppStore.
Мойтаба Хоссейни

3
Этот ответ не имеет отношения к проблеме, я протестировал развертывание приложения, используя Xcode 11.2.1, и проблема все еще сохраняется. Единственный способ, которым я смог развернуть приложение на устройстве с Xcode 11.2.1, - это установить «Файл -> Настройки рабочего пространства-> Система сборки» в «Устаревшая система сборки»
Lean van Heerden,

Итак, Бретань, каков был результат? Это сработало?
Мойтаба Хоссейни

-1

Эта проблема относится только к подписи кода

Но ключевой момент, на который следует обратить внимание: если вы используете версию XCode 11.x. Не только подписывание кода в вашем проекте, но и проверка подписи кода в Third-Party SDK или зависимостях, которые мы добавляем в наш проект.

Действия по проверке подписи кода сторонних SDK:

  1. Загрузите исходный код нужной вам платформы
  2. Откройте файл .xcproj из исходного кода, используя XCode 11.x
  3. Перейдите в Targets -> Signing & Capabilities -> Select all tab -> Bundle Identifier. Если вы видите какую-либо неравномерность в идентификаторе, например, идентификатор с 4 разделителями (например, 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. Теперь скопируйте сгенерированную из фреймворка папку Carthage с исходным кодом и замените существующий 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.