Не удается развернуть приложение на устройстве ios 8

Просто обновил iPad Mini до iOS 8 и внезапно не смог отладить мое приложение на нем с XCode 6.0.1. Ошибка в Xcode An unknown error has occurred. с App installation failed с An unknown error has occurred. , На устройстве приложение остается серым.

Пытался:

  • удалите приложение из ipad (работал до этого)
  • Мягкий сброс и перезагрузка устройства
  • Удаление полученных данных и очистка
  • Перезагрузите mac
  • переустановить xcode
  • изменить идентификатор пакета и название продукта
  • Восстановить сертификаты dev и профили подготовки

С iOS 6 и iOS 7 устройства прекрасно работают, а также могут отлаживать и другие проекты, но не этот, поэтому я отчаялся.

Есть идеи?

Журнал консоли:

23/09/14 18:24:16,617 Xcode[421]: createShadowPath (thread 0x12a2f6000): returning: /var/folders/lq/1z47wljj77gbhhrhc9z_yylw0000gn/C/com.apple.DeveloperTools/6.0.1/Xcode/942f46185227b6e098ea41a4548a0649/e269ac837383a4b805c1e212d18ffe36483ab24a/TDev.app
23/09/14 18:24:16,617 Xcode[421]: createSiblingInPath (thread 0x12a2f6000): returning: /var/folders/lq/1z47wljj77gbhhrhc9z_yylw0000gn/C/com.apple.DeveloperTools/6.0.1/Xcode/942f46185227b6e098ea41a4548a0649/e269ac837383a4b805c1e212d18ffe36483ab24a/ManifestCache.plist
23/09/14 18:24:16,690 Xcode[421]: _AMDeviceCopyInstalledAppInfo (thread 0x12a2f6000): no app info
23/09/14 18:24:16,693 Xcode[421]: AMDeviceSecureInstallApplicationBundle (thread 0x12a2f6000): unable to get installed app info, falling back to old skool install
23/09/14 18:24:16,693 Xcode[421]: AMDeviceSecureInstallApplicationBundle (thread 0x12a2f6000): Blasting the bundle over to the device in an old skool way
23/09/14 18:24:27,005 Xcode[421]: AMDErrorForMobileInstallationCallbackDict (thread 0x114564000): GOT AN ERROR 0xe800003a
23/09/14 18:24:27,032 Xcode[421]: SZConduit: _MonitorResultDispatchFunction:140 (0x0x114564000): Got error from service: InstallationFailed
23/09/14 18:24:27,033 Xcode[421]: _AMDeviceTransferAndInstall (thread 0x12a2f6000): SZConduitSendPathWithPreflight failed: 0xe8008001
23/09/14 18:24:27,051 Xcode[421]: writeDictToFile:1258 ==== Successfully wrote Manifest cache to /var/folders/lq/1z47wljj77gbhhrhc9z_yylw0000gn/C/com.apple.DeveloperTools/6.0.1/Xcode/942f46185227b6e098ea41a4548a0649/e269ac837383a4b805c1e212d18ffe36483ab24a/ManifestCache.plist
23/09/14 18:24:27,053 Xcode[421]: AMDeviceSecureInstallApplicationBundle (thread 0x12a2f6000): returning 0xe8008001

Редактировать:

Похоже, что регенерация сертификатов была решением, но после Clean была необходима также Clean Build Folder, которая решила проблему (на данный момент, по крайней мере).

Ответы

Ответ 1

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

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

Это привело меня к проверке и выяснению, что это не связано с устаревшими сертификатами (все было на свидании), ни с остальными файлами DerivedData или temp (хотя всегда хорошо делать чистые!)

Это был тот факт, что у моих пользовательских фреймворков "CFBundleExecutable" была опечатка - так что подписание действительно вызывало ошибку. Это не сразу сообщается в Xcode - даже если для ваших встроенных фреймворков включено поле "Кодовый знак при копировании". Попробуйте подписать структуру отдельно в командной строке, и она скажет вам!

Jul 13 09:40:43 Tims-iPhone installd[2302] <Notice>: 0x10048c000 -[MIClientConnection _doBackgroundInstallationForPath:withOptions:completion:]: Install of "/var/mobile/Media/PublicStaging/miin.app" type Developer requested by streaming_zip_conduit (pid 2303)
Jul 13 09:40:43 Tims-iPhone installd[2302] <Notice>: 0x10048c000 -[MIInstaller performInstallationWithError:]: Installing <MIInstallableBundle ID=com.timlukins.miin; Version=1, ShortVersion=1.0>
Jul 13 09:40:44 Tims-iPhone profiled[2107] <Notice>: (Note ) MC: Provisioning profiles changed
Jul 13 09:40:44 Tims-iPhone installd[2302] <Error>:  SecTrustEvaluate  [leaf CriticalExtensions IssuerCommonName]
Jul 13 09:40:44 Tims-iPhone installd[2302] <Error>:  SecTrustEvaluate  [leaf CriticalExtensions IssuerCommonName]
Jul 13 09:40:44 Tims-iPhone installd[2302] <Error>: unrecognized status -67049 from codesigning library
Jul 13 09:40:44 Tims-iPhone installd[2302] <Error>: 0x10048c000 -[MICodeSigningVerifier performValidationWithError:]: 188: Failed to verify code signature of <MIExecutableBundle : path = /private/var/mobile/Library/Caches/com.apple.mobile.installd.staging/temp.J7tWkl/extracted/miin.app/Frameworks/libmiincore.framework identifier = com.timlukins.libmiincore type = Framework> : 0xe8008001 (Unknown error)
Jul 13 09:40:44 Tims-iPhone installd[2302] <Error>: 0x10048c000 -[MIInstaller performInstallationWithError:]: Verification stage failed
Jul 13 09:40:44 Tims-iPhone streaming_zip_conduit[2303] <Error>: 0x100484000 __MobileInstallationInstallForLaunchServices_block_invoke240: Returned error Error Domain=MIInstallerErrorDomain Code=13 "Failed to verify code signature of <MIExecutableBundle : path = /private/var/mobile/Library/Caches/com.apple.mobile.installd.staging/temp.J7tWkl/extracted/miin.app/Frameworks/libmiincore.framework identifier = com.timlukins.libmiincore type = Framework> : 0xe8008001 (Unknown error)" UserInfo=0x12ee1fa30 {LibMISErrorNumber=-402620415, LegacyErrorString=ApplicationVerificationFailed, SourceFileLine=188, FunctionName=-[MICodeSigningVerifier performValidationWithError:], NSLocalizedDescription=Failed to verify code signature of <MIExecutableBundle : path = /private/var/mobile/Library/Caches/com.apple.mobile.installd.staging/temp.J7tWkl/extracted/miin.app/Frameworks/libmiincore.framework identifier = com.timlukins.libmiincore type = Framework> : 0xe8008001 (Unknown error)}
Jul 13 09:40:44 Tims-iPhone streaming_zip_conduit[2303] <Warning>: ERROR: MobileInstallationInstallForLaunchServices returned nil
Jul 13 09:40:44 Tims-iPhone streaming_zip_conduit[2303] <Warning>: __dispatch_source_read_socket_block_invoke:203: Failed to install application at file:///var/mobile/Media/PublicStaging/miin.app/ : Error Domain=LaunchServicesError Code=0 "The operation couldnt be completed. (LaunchServicesError error 0.)" UserInfo=0x12ed20140 {Error=ApplicationVerificationFailed, ErrorDetail=-402620415, ErrorDescription=Failed to verify code signature of <MIExecutableBundle : path = /private/var/mobile/Library/Caches/com.apple.mobile.installd.staging/temp.J7tWkl/extracted/miin.app/Frameworks/libmiincore.framework identifier = com.timlukins.libmiincore type = Framework> : 0xe8008001 (Unknown error)}

Ответ 2

Я просто получил это с помощью Xcode 7.2. Просмотр журнала консоли устройства указал на стороннюю структуру в CocoaPods. Было ли обновление "pod update", и теперь все хорошо.

Ответ 3

Мой опыт, чтобы исправить то, что стоит... Xcode 7.3

У меня был очень раздражающий стручок, который больше не использовался, поэтому он был уверен, что он был удален из каркасов. Далее - CocoaPods жаловался на используемые Framework - поэтому я убедился, что у меня работает последний Ruby, который у меня есть (2.1.2 в моем случае), а затем сделал следующее:

  1. Обновлены стручки
  2. "Продукт" → "Чистый"
  3. Opt 'Product' → 'Clean'
  4. Удалены все производные данные

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

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

Ответ 4

Используете ли вы какую-либо внешнюю библиотеку или SDK? Возможно, у вас есть библиотека, которая не поддерживает iOS 8.

Если бы я был вами, я бы создал новый проект, только для целей тестирования, с одним представлением и проверить, работает ли он в iOS 8 с моим Xcode на моем компьютере. Если он работает нормально, проблема возникает только в вашем фактическом проекте.

Ответ 5

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

Чтобы решить проблему, мне пришлось удалить одну из учетных записей и выбрать конкретную "Signing Identity" в "Настройки сборки". Я не знаю, требовалось ли это, но в ходе этого процесса я удалил "Производные данные" проектов.

Ответ 6

Я потратил впустую более 3 дней, теперь я решаю ту же проблему. В моем случае у моего проекта есть сторонние рамки (мой случай - Dropbox).

Вероятно, Xcode требует подписи во всех встроенных фреймворках в разделе "Фазы сборки/Копирование файлов". Или встроенный код слишком стар, чтобы скопировать в Xcode build.

Ответ 7

В моем случае проблема заключалась в том, что на устройстве не осталось места. Надеюсь, что это помогает кому-то другому.

Ответ 8

Если вы используете Cocoapods, я просто запускаю обновление "pod update". Протестировано с помощью Xcode 7.3.

Ответ 9

В моем случае я только что обновил cocoa-стручки, и это сработало. Обновите контейнеры и проверьте еще раз.

Ответ 10

Я просто удалил сторонние структуры, которые я использовал. Затем переустановите их. Это устранило мою проблему. Надеюсь, это поможет кому-то.

Ответ 11

Если кто-либо использует расширения или содержимое пользовательских уведомлений в iOS 10, а затем удаляет папки/файлы, которые генерирует XCode для вас. Вы можете получить ту же ошибку: установка приложения завершилась неудачно с неизвестной ошибкой

Затем перейдите к целевым объектам проекта и удалите цель, которую создает Extension/Content. Иногда, если вы попытаетесь это сделать, XCode выйдет из строя. Я трачу около часа, пытаясь понять, почему... например: очистка папок и папок с производными данными. Исправлено удаление пользовательских платформ, связанных с этой схемой. Только после этого я смог удалить указанную схему.

В моем случае мне понадобилось только расширение, поэтому я удалил цель, выделенную серым цветом.

enter image description here