Не удалось запустить приложение в Simulator: во время работы была обнаружена ошибка (Domain = LaunchServicesError, Code = 0)

Я не могу запустить мое приложение в симуляторе после возникновения проблем с профилем подготовки. Я делаю быстрое кодирование в Xcode 6 - beta 4. Это было хорошо, прежде чем проблема в профиле сертификата.

Я пробовал очистить сборку. Проверьте, запущена ли командная строка для xCode6-beta4. Проверено развертывание сборки, установлено в 7.0, поэтому swift не будет жаловаться на совместимость Исправлена ​​ошибка в настройке.

Ответ 1

Это происходит, если ваш идентификатор пакета расширения не имеет префикса с вашим идентификатором пакета приложений. Например, если ваше приложение com.mycompany.appname, ваше расширение должно быть чем-то вроде com.mycompany.appname.today.

Что-то еще следует отметить, если вы используете Swift и устанавливаете основной класс с NSExtensionPrincipalClass, вы должны убедиться, что ваш целевой объект расширения устанавливает "Определяет модуль" на "Да" и делает значение NSExtensionPrincipalClass равно "YourModuleName.YourClassName".

Ответ 2

Я установил его, сбросив симулятор:

iOS Simulator > Reset Содержание и настройки...

Ответ 3

Похоже, что существует несколько причин для ошибки "domain = LaunchServicesError code = 0". Я также столкнулся с этим, пока я пытаюсь переустановить приложение на симуляторе iOS8. Я не могу переустановить, но сначала должен удалить старое приложение.

Проблема была решена:

  • В Xcode заполните пустое поле Version или Build с соответствующим значением в Target- > General- > Identity

  • В симуляторе reset Содержание и настройки...

После этого все работает нормально.

Ответ 4

Это также происходит, когда вы удаляете StoryBoard по умолчанию из созданного шаблоном проекта виджета Today. Чтобы исправить это, я добавил NSExtensionPrincipalClass в разделе NSExtension и указал его классу, содержащему контроллер видения Today Viewer, который по шаблону по умолчанию TodayViewController.

Это выглядит так в Info.plist расширения:

NSExtension NSExtensionPointIdentifier String com.apple.widget-extension NSExtensionPrincipalClass String TodayViewController

Ответ 5

  • Продукт → Очистка

  • iOS Simulator > Reset Содержание и настройки

  • Перезапустить XCode

Ответ 6

Ни одно из вышеперечисленных не работало для меня, однако удаление Derived Data устранило проблему.

Чтобы удалить производные данные, откройте "Окно" > "Проекты", выберите текущий проект и нажмите соответствующую кнопку удаления.

Ответ 7

"Reset Контент и настройки из параметров iOS Simutalor и запускающего симулятора после Выход из решил мою проблему.

Reset Content and Settings

Ответ 8

Решение для меня заключалось не в том, чтобы внедрить фреймворк, который не был создан как встраиваемая инфраструктура.

Ответ 9

Нашел причину проблемы для меня.

Я использую ShareKit через контейнеры. Эта проблема связана с SDK GooglePlus, который использует ShareKit, и это необходимо обновить из-за изменения политики Apple. http://googledevelopers.blogspot.com.br/2014/09/an-important-announcement-for-ios.html

Итак, я заменил мой пакет "ShareKit" на:

pod "ShareKit/Twitter"

pod "ShareKit/Facebook"

pod "ShareKit/Pocket"

pod "ShareKit/Evernote"

Оставляя подпроект GooglePlus, и приложение развернулось и теперь работает под симуляторами 8.0.

Надеюсь, это поможет кому-то еще.

Ответ 10

Я разрешаю эту проблему. спасибо за советы.:)

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

Если у вас есть этот "com.codemagnus.ExAppMain" в вашем основном пакете, ваше расширение должно также иметь этот идентификатор "com.codemagnus.ExAppMain" .. Это приведет к ошибке запуска службы, если вы собираетесь работать в симуляторе, Но вы можете создать сборку. Однако проблема, которую я обнаружил, вызывает раздражение. Это приложение не может быть установлено на вашем устройстве.:/

Если вы хотите запустить симулятор. У вас должен быть этот "com.codemagnus.ExAppMain.ExApp" на вашей внутренней клавиатуре, где ExApp - это расширение. И ваш основной пакет должен быть "com.codemagnus.ExAppMain" .. Это отлично работает с симулятором. Однако это приведет к тому, что "Встроенный идентификатор бинарного пакета не имеет префикса с идентификатором пакета родительского приложения".

Встраиваемый двоичный идентификатор пакета: com.codemagnus.ExAppMain.ExApp       Идентификатор пакета родительского приложения: com.codemagnus.ExAppMain

Я все еще думаю и ищу решение для решения этой проблемы для сборки ipa.

Ответ 11

Это сводило меня с ума. Я проверил все предлагаемое здесь, переустановил Xcode, перезапустил компьютер и ничего не работал. После проверки некоторых предыдущих коммитов я выяснил эту проблему.

В контексте, я работаю над пользовательским расширением клавиатуры в Objective C. Добавление новой настраиваемой цели расширения клавиатуры дает вам класс KeyboardViewController stub с кнопкой "следующая клавиатура". Я изменил значение NSExtensionPrincipalClass в Info.plist расширения как имя класса, отличное от KeyboardViewController, и начал работать над ним. В конце концов я решил избавиться от заглушки KeyboardViewController, так как это был мертвый код.

Удаление файлов KeyboardViewController и удаление их из Xcode вызвало эту проблему. Вернув их обратно, приложение снова работает.

Ответ 12

В моем случае это решило проблему.

Идентификатор пакета не должен быть пустым. Вы можете найти поле со следующей ссылкой:

enter image description here

Ответ 13

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

Ответ 14

Я начал получать эту ошибку, когда я изменил свою цель развертывания с 6,0 до 7,0. Я обнаружил, что сброс симулятора действительно разрешил проблему, и мне нужно было сделать это для ВСЕХ симуляторов, которые были важны для приложения. Но если я вернусь к 6.0 и перекомпилировал для какого-либо конкретного симулятора, то он сработал немедленно, но опять же, чтобы 7.0 сломал симулятор, мне пришлось снова очистить настройки.

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

Ответ 15

Обязательно проверьте настройки сборки; прокрутите вниз до самого нижнего уровня и убедитесь, что ваш префикс для пользовательского Bundle правильный. Обычно com.whatever.

Просто установка его вверху не всегда меняет эту нижнюю настройку. Это, наконец, помогло мне после перезагрузки симулятора, обжаривания производной папки и т.д.

Я под IOS 9.3, xCode 7.3

Ответ 16

Xcode 7.3

Это может произойти просто потому, что ваше целевое имя слишком длинное. Попробуйте изменить свое целевое имя на нечто более короткое (не забудьте изменить свой идентификатор пакета, чтобы он совпал).

Ответ 17

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

Ответ 18

Я получал подобную ошибку при запуске приложения через xCode: "Родительский пакет имеет тот же идентификатор, что и подкомплекс..."

Я сократил идентификатор Bundle в "Project → General" для xCode8. Первоначально мой идентификатор пакета был com.companyname..

Название приложения составило более 20 символов. Как только я сократил его на 12 символов, он работал у меня.