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

91

После успешной компиляции проекта в Xcode 6 я не могу запустить его в симуляторе с указанным выше сообщением. Я провел все возможные исследования, все перепробовал, но все равно никаких успехов.

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

Если кто - то нашел возможную причину (или решение !!), кроме них , пожалуйста , помогите. Благодарность

Мики
источник
Было бы полезно, если бы вы могли перечислить, что вы пытались исключить из этих рекомендаций.
donmarkusi
Проблема теперь решена, но просто для информации я попробовал: - запустить чистую - удалить кеш проекта / производные данные - перезапустить симулятор и Xcode - перезапустить Mac - переустановить Xcode - очистить и переустановить CocoaPods - проверить настройки сборки на наличие редких Внешний вид Ничего не помогло. Не пробовал возиться с именами расширений приложений, так как я их не использую.
Miki
3
«Продукт -> Чистый» у меня сработал.
nshuman
У меня была такая проблема: stackoverflow.com/questions/27037589/…
derpoliuk
Перезапуск симулятора решил мою проблему
Бхавеш

Ответы:

175

«Сброс содержимое и настройки» из IOS Simutalor пунктов меню и запуск тренажера после Выхода решить мою проблему.

Сбросить содержимое и настройки

Совик Долуи
источник
6
Намного лучше, чем первоначальный ответ. Должен быть отмечен как решение.
denislexic
После этого мне также нужно было выйти и снова открыть симулятор.
jfredsilva
Это требование уже упоминалось в моем ответе @jfredsilva.
Sauvik Dolui
1
Также удаление приложения, если вы ранее установили его на симуляторе
danywarner 07
Работай на меня. Спасибо
Nikhil Chaurasiya
125

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

(Удерживая нажатой клавишу Alt : Продукт> Чистая папка сборки )

Ханнес Ломандер
источник
1
YA YA YA, проблема исправлена: D
Abo3atef
1
Это сработало для меня после того, как я обновился до использования Cocoapods и .xcworkspace.
Иоанн Король
3
Это необходимо сделать после обновления до Cocoapods v1.0.0
Анкония,
Чтобы добавить, это единственное, что устранило эту проблему для меня после обновления до Cocoapods v1.0.0. Ни один из других ответов SO не работал.
Энди Райс
Работал, я так счастлив
anavarroma
33

Я пробовал любое другое решение, указанное здесь. Итак, я перенес свой проект со Swift 1.2 на Swift 2.0. Приложение зависало даже после долгой отладки и ошибки запуска служб 0.

Решение: Это происходит из-за компиляции фреймворка.

Цель приложения -> Этапы сборки -> Внедрить фреймворки.

Так что отметьте копию только при установке на. Очистите проект и запустите!

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

AG
источник
Не могли бы вы подробнее объяснить, как "Копировать только при установке" решает проблему?
sethfri 08
@ sethfri: «Копировать только при установке», чтобы указать, что на этапе сборки файлы копируются только в установочных сборках продукта. developer.apple.com/library/mac/recipes/…
AG
3
Я понимаю, что означают слова «Копировать только при установке». Я спрашиваю, как это решить проблему, с которой столкнулся автор вопроса.
sethfri
28

Теперь это решено. Проблема была вызвана библиотекой ShareKit, добавленной CocoaPods по соображениям совместимости. После удаления библиотеки и всего связанного кода приложение успешно запустилось в симуляторе. Я рекомендую проверить системный журнал для получения более подробной информации по этой проблеме, поскольку, на мой взгляд, он указал мне правильное направление (указав имя конфликтующей библиотеки).

Мики
источник
Я только что добавил shareKit, и у меня такая же проблема.
dirkoneill
24
Если это кому-то поможет: вы можете получить доступ к системному журналу, набрав Консоль в Spotlight.
Нейт Кук,
Для меня это было MixpanelAppExtension
villy393
Спасибо, это помогло мне. XCode 7.3.1 и мой журнал показал «ErrorDescription = Не удалось скопировать жесткую ссылку». Я устанавливал версию, но не номер сборки в Target -> General -> Identity. Как только я добавил значение для Build, проблема исчезла.
Уильям Смит
Чтобы проверить системный журнал, попробуйте эту команду в Терминале: tail -f /var/log/system.logiOS Simulator печатает непосредственно в stdout, чтобы вы могли видеть журналы, смешанные с системными журналами.
vhong 09
16

Если у кого-то есть эта проблема в сочетании со стручками какао, эти шаги помогли мне решить эту ошибку (через несколько часов):

  • бегать pod cache clean
  • из SRC_ROOT запустить rm -rf Pods(опционально rm Podfile.lock)
  • Щелкните приложение Simulator , щелкните Simulator -> Reset Content and Settings ...
  • Войдите в Xcode, в строке меню нажмите Product -> Clean (или нажмите Shift + Command + K). Это очистит ваш проект Xcode.
  • Создайте новую оболочку терминала (в строке меню нажмите «Оболочка» -> «Новое окно»)
  • бегать rm -rf ~/Library/Developer/Xcode/DerivedData/

... затем попробуйте собрать и запустить свой проект.

Примечание. SRC_ROOT можно найти, войдя в навигатор , щелкнув проект, снова щелкнув проект в списке проектов и целей , войдя в настройки сборки , прокрутившись до самого низа до раздела , определяемого пользователем , и SRC_ROOT. будет обозначен как PODS_ROOT. Возьмите это, скопируйте его вербально в Терминал и перейдите к шагу 2 из списка выше.

Надеюсь, это поможет.

ЯкубКнейзлик
источник
2
Это сделало это. Спасибо! На самом деле должен быть принятый ответ.
Дэн Лёвенгерц
Это решило мою проблему! Определенно это должен быть принятый ответ!
Виктор Оливейра Антонино
15

Я избавляюсь от проблемы с помощью данных шагов для симулятора

1. Способ

  1. Сбросить содержимое и настройки симулятора .
  2. Очистите свой проект с помощью Cmd + Shift + K .
  3. Очистите производные данные .
  4. Последний, который более важен, измените свой идентификатор пакета на "com.yourcompanyname.projectname", например "com.facebook.Facebook"

2 пути

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

Последний, который более важен, измените свой идентификатор пакета на "com.yourcompanyname.projectname", например "com.facebook.Facebook"

Спасибо и наслаждайтесь программированием.

Дхармбир Сингх
источник
Вы имеете в виду cmdвместо win? ;) (Или, может быть, вы используете клавиатуру Windows.)
Jeroen
@JeroenJK Да, это Cmd.
Дхармбир Сингх 06
Вау, изменение идентификатора пакета - это то, что наконец-то сработало для меня. Благодарность!
ArtSabintsev
6

Может быть связано с этой проблемой: «Это приложение содержит расширение приложения с недопустимым идентификатором пакета».

Мне пришлось отформатировать идентификаторы пакетов для моего приложения и расширения следующим образом:

com.company.AppName
com.company.AppName.Extension
Азин Мехрнош
источник
Тоже самое. Я изменил идентификатор пакета, потому что расширение (виджет) не отображалось, и это вызвало его. Пришлось понизить версию расширения с 9.2 до 8.2 и изменить комплект, как указано выше.
Спасибо, именно моя проблема!
Андрес
5
  1. Сначала «Сбросить содержимое и настройки»
  2. Если вы не заполняли номер сборки и не заполняете его и запускаете.

Для меня это решено.

Чатурка
источник
4

Если вы измените имя предоставленного класса, InterfaceControllerустановленного по умолчанию при запуске нового проекта. На этот класс есть ссылка в Info.plistразделе RemoteInterfacePrincipalClass. В моем случае я получал ошибку, упомянутую OP, пока я не исправил имя класса там (см. Снимок экрана).

Info.plist: установить основной класс

Чарльз
источник
Это действительно помогло! Благодарность!
Lonkly
2

Если у вас возникли проблемы с интеграцией с WatchOS 2.0, перейдите по ссылке - ~/Library/Logs/CoreSimulator/[Device UDID]/system.logи, если что-то вроде WatchKit 2 app has frameworks; that's not allowed.этого, перейдите по ссылке ниже.

http://zyafa.me/blog/watchos-2-and-embedded-frameworks

инсаноид
источник
1
Спасибо, что указали мне на файл журнала симулятора. В моем случае файл журнала на ~/Library/Logs/CoreSimulator/CoreSimulator.logпоказал, что у моего связанного фреймворка не было CFBundleIdentifierв его Info.plist
Берби
framework не имел CFBundleIdentifier в его Info.plist: я также понимаю, что это решение? не используется в watchkit или watchOS
Абхишек Таплиял
1

Я пользователь AdMob, и я решил включить «Копировать только при установке» в App target -> Build Phases -> Embed Frameworks.

Матовый. Автомобиль
источник
1

Та же проблема возникает после локализации моего приложения. Тем более Info.plist. Кажется , у меня было пусто CFBundleShortVersionStringпо прибытии InfoPlist.strings, после фиксации , что тренажер начал работать должным образом.

MuHAOS
источник
Это тоже была моя проблема. Если вы видите это, попробуйте удалить все ключи, не требующие локализации, из ваших файлов InfoPlist.strings. В моем случае удаление ключей ниже исправило все: CFBundleName CFBundleShortVersionString CFBundleVersion
лазарев
1

Я получил эту проблему, добавив ссылку на папку с именем «Ресурсы».

Если я дам ему другое имя, он запустится!

лось
источник
1
Этот решил мне аналогичную проблему! Я встраивал dylib, и это вызвало загадочную ошибку установки «не было CFBundleIdentifier в его Info.plist». После изменения папки «Ресурсы» на что-то еще она снова начала работать
Саги Илтус
Два
Moose
1

Есть несколько причин, которые могут вызвать эту ошибку. Лучший общий ответ - поиск в журнале консоли CoreSimulator, поскольку симулятор регистрирует основную проблему при отображении этого сообщения.

Кристофер Пикслей
источник
1

Спасибо, что указали на это @Miki и слава вам. У меня была та же проблема, что и у вас вчера (и я добавил в приложение ShareKit 3.0.0 из CocoaPods несколько дней назад). Я подозревал, что ShareKit дает мне эту проблему, но теперь я могу быть уверен, какая именно библиотека вызывает это. Вот что я нашел в своем журнале (если это может принести пользу другим):

Error Domain = LaunchServicesError Code = 0 «Операция не может быть завершена. (Ошибка LaunchServicesError 0.)» UserInfo = 0x7fa836097aa0 {Error = PackageInspectionFailed, ErrorDescription = Не удалось загрузить Info.plist из пакета по пути / Users / {UserName} / Библиотека / Разработчик / CoreSimulator / Devices / 99FEB34E-6F00-4EFA-861A-A6985AFE96D8 / data / Library / Caches / com.apple.mobile.installd.staging / temp.X7eead / extract / {AppName} .app / Frameworks / LiveSDK. фреймворк}

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

Если вы установили какие-либо библиотеки, используя, CocoaPodsкогда XCode был открыт, все, что вам нужно сделать, это закрыть XCode и удалить библиотеку из Podфайла, запустить команду, pod installкоторая удалит эту библиотеку. затем снова установите библиотеку. Убедитесь, что XCode всегда закрыт при установке и удалении библиотек.

Атиф Фаррух
источник
0

У меня была точно такая же проблема, и это был ShareKit.

На симуляторе у меня было «Error Domain = LaunchServicesError Code = 0».

На устройстве iPhone6 ​​у меня было сообщение «Ошибка установки приложения. Не удалось проверить пакет приложения».

Когда я удалил ShareKit, все заработало.

Адинп
источник
0

У меня возникла эта проблема, когда я добавил в свое приложение цель Apple Watch и случайно удалил файл InterfaceController.m. Добавление файла в цель устранило проблему.

шпион
источник
0

Это может быть вызвано разными вещами. Взгляд в консоль может дать вам ключ к разгадке.

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

(Удаление папки сборки устранило мою проблему).

Смущенный ворлонец
источник
0

В моем случае проблема возникла из-за того, что добавлен набор значков, в котором отсутствуют некоторые изображения. Как только я заменил набор значков другим и удалил приложение в симуляторе; Я смог запустить его снова.

иепес
источник
0

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

ReduxDJ
источник
0

Не добавляйте фреймворк Google Maps в раздел встроенных библиотек, это решило мою проблему с сборкой.

Рави Далмия
источник
Удаление встроенного фреймворка, в котором не было необходимости, также
устранило
0

У меня была эта ошибка при разработке приложения для Apple Watch после добавления в Info.plist: «Настройки безопасности транспорта приложений» и «Разрешить произвольные нагрузки» = ДА. (В приложении WatchKit, в WatchKit Extension это хорошо !!) Удалив эти две строки, он продолжает работать.

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

Алессандро Маттиуцци
источник
0

Для меня проблема возникает из-за того, что я добавил свою структуру ( GoogleMobileAds.frameworkв моем случае) во встроенные бинарные файлы , а не в связанные платформы и библиотеки .

К вашему сведению, AdMob рекомендует использовать Add Files to "Your Project"меню в Xcode, но мне было лень подчиняться инструкции.

Blaszard
источник
0

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

Вот как я это решил.

  1. Выберите цель теста пользовательского интерфейса.
  2. Щелкните раздел "Фазы сборки".
  3. Щелкните значок плюса, чтобы добавить этап копирования файлов. Этап добавления файлов копирования
  4. На этапе копирования файлов измените место назначения на Frameworks (см. Последнее изображение)
  5. Нажмите на плюс под этапом копирования файлов.
  6. Выберите платформу, для которой вы получаете сообщение об ошибке, и нажмите кнопку «Добавить» (ваш, вероятно, не будет первым элементом в иерархии вашего проекта). Выберите Framework для копирования В итоге должно получиться вот так. Конечный результат
  7. Повторите шаги 5 и 6 для всех фреймворков, в которых возникает ошибка.
  8. Проведите свои тесты.
Рич Акино
источник