运行时遇到错误(Domain = LaunchServicesError,Code = 0)

Lir*_*ivo 70 ios ios-simulator swift xcode6 xcode6-beta6

我在尝试使用Xcode 6在iOS模拟器中启动我的应用程序时收到错误(Domain = LaunchServicesError,Code = 0).我在谷歌寻找解决方案,但我没有找到任何实用的东西.

这个错误是什么意思?

Jer*_*oia 119

此错误表示安装存在问题.不幸的是,Xcode实际上并不打印错误消息的内容,这会让你更深入了解,但你可以查看〜/ Library/Logs/CoreSimulator/CoreSimulator.log来查看其余的错误细节.在模拟设备的系统日志中还会有关于该问题的更多信息(〜/ Library/Logs/CoreSimulator/[Device UDID] /system.log); 在错误发生时寻找来自installd的消息).

导致此问题的常见原因包括缺少Info.plist的捆绑包,捆绑包的Info.plist中缺少密钥,或者Info.plist中某些密钥的值不被允许.

如果您的应用的Info.plist不包含有效的CFBundleVersion键/值对,则您的应用可能会在第一次正确安装但无法更新.许多用户似乎通过在每次安装后执行"重置内容和设置"来解决此问题,但最好通过在Info.plist中设置适当的CFBundleVersion来修复根本原因.我相信iOS 8.2现在正确地在这种情况下首次安装时返回错误,而不仅仅是更新,所以希望这个问题现在会更加明显.

在不支持硬链接的文件系统上具有主目录的用户(例如:通过AFP,SMB或某些NFS服务器的网络主目录)也可能遇到与硬链接相关的问题.如果是这种情况,我建议您在本地HFS +文件系统上创建一个用于模拟器开发的路径(例如:/ var/simulator/[user]),并从〜/ Library/Developer/CoreSimulator创建一个到该路径的符号链接.此特定问题已在iOS 8.2测试版之一中修复.

在另一种情况下,构建和运行将始终在第一次尝试时成功,但后续尝试有时会由于更改的Info.plist而失败(例如:因为某人的构建系统设置导致CFBundleVersion在每次迭代时都不同).您通常可以通过删除已安装的应用程序(使用主屏幕中的长按或xcrun simctl uninstall [Device UDID] [app identifier])或将设备恢复为默认状态来进行恢复.要擦除设备,请xcrun simctl erase [Device UDID]从终端执行或Erase Contents & Settings从iOS模拟器菜单中选择.此特定问题已在iOS 8.2测试版之一中修复.

Xcode 6.2用户正在出现此问题的较新实例.如果您的应用程序中捆绑了WatchKit App Extension,则无法安装到早于iOS 8.2的iOS Simulator运行时版本.作为解决方法,当您要使用iOS 8.1及更早版本的运行时进行测试时,您需要手动禁用应用程序扩展.

如果您需要更具体的帮助,请提供CoreSimulator.log中的全部错误消息以及〜/ Library/Logs/CoreSimulator/[Device UDID] /system.log中同时出现的来自installd和CoreSimulatorBridge的任何消息这将揭示潜在的问题.

  • 很有帮助.谢谢! (2认同)
  • 此错误可能由多种原因引起.这个答案提供了解决问题的一般方法.谢谢. (2认同)
  • 转到模拟器应用程序(OS X)中的"iOS模拟器"下拉列表,然后选择"重置内容和设置......"......完成! (2认同)

Rac*_* Jr 41

您的项目是否包含小部件或扩展程序?如果是这样,问题可能是您的小部件/扩展的包标识符.它应该与主目标相同,附加一个句点和一个额外的字符串.例如:

主要目标: com.mycompany.myapp

小工具应该是: com.mycompany.myapp.widget


小智 39

我通过重置模拟器来修复它:

iOS模拟器>重置内容和设置...

  • 这适用于此错误的一些可能原因,但是还有其他原因导致相同的错误消息无法通过重置来修复. (2认同)

Zol*_*tán 25

由于每个人都写了他们经历的内容以及他们如何解决他们确切的问题,这可能是无益的.

问题是,同一错误消息有不同的原因,正确的解决方法是打开~/Library/Logs/CoreSimulator/CoreSimulator.log并查看最后一条消息.此消息为您提供了一个很好的线索,让您找到解决问题的正确途径(有时它是捆绑ID,有时它是Info.plist中缺少的或额外的属性,但您总能获得良好的描述性线索).

这就是你如何缩小问题范围并最终解决问题.

Xcode带来好运和艰难的神经.)

Z.

  • 这是我见过的第一个合乎逻辑的理性方法...... +100感谢分享.只需拖尾日志就可以了解谷歌之后需要做什么. (2认同)

小智 18

对我来说,我刚刚清理了项目并且工作正常 - >产品 - >清洁


UKD*_*eek 15

TLDR:清除你的项目构建文件夹 - 你将免于这种痛苦.

(另外,我将此记录为Apple的一个错误,因为他们需要找到一种方法来解决这个问题在Xcode中)

这些解决方案都不适合我 - 我把头撞到了几面墙上.
我查看了CoreSimulator日志,我意识到它正在尝试构建一个我删除的库.我无法在任何地方找到它的引用.

然后我通过另一个SO问题看到,遗憾的是我找不到参考,如果你:

  1. 按住您的选项键,然后选择Product-> Clean选项 Clean Build Folder
  2. 按下即可享受您的错误消失


Sau*_*lui 12

iOS Simutalor菜单选项"重置内容和设置"并在退出后启动模拟器解决了我的问题.

重置内容和设置


小智 9

在XCode 6中

运行时遇到错误(Domain = LaunchServicesError,Code = 0)

在进行一些主要代码更改以适应iPhone 6屏幕后,我遇到了这个错误.在Xcode 6(iOS8)中

我按照上面的选项,发现真正解决这个问题的唯一方法是执行以下操作:

  1. 删除派生数据[转到窗口>>管理器>>(查找应用程序)单击派生数据旁边的删除]
  2. 产品>>清洁
  3. 在模拟器中重置内容和设置
  4. 在pList中将Bundle Version从1.4更改为1.4.1

    感谢所有以前的答案让我进入这个阶段.它有魅力!


jos*_*jos 5

在我的情况下,错误是由于我没有设置构建ID引起的.

设置此项,可以毫无问题地启动模拟器.


归档时间:

查看次数:

56059 次

最近记录:

9 年,5 月 前