我收到一个错误(域名= LaunchServicesError,代码= 0),当尝试启动我的应用程序在iOS模拟器与Xcode6。我在谷歌寻找解决方案,但我没有找到任何实际的东西。
这个错误是什么意思?
发布于 2014-10-01 04:47:08
此错误表示安装有问题。不幸的是,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服务器的网络主目录)上的用户也可能遇到与硬链接相关的问题。如果是这种情况,我建议您在本地模拟器文件系统上创建一个用于模拟器开发的路径(例如:/var/ HFS+ /user),并从~/Library/Developer/CoreSimulator创建到该路径的符号链接。此特定问题已在iOS 8.2测试版之一中修复。
在另一种情况下,构建和运行总是在第一次尝试时成功,但随后的尝试有时会因为更改了Info.plist而失败(例如:因为某人的构建系统设置导致每次迭代的CFBundleVersion都不同)。您通常可以通过删除已安装的应用程序(从主屏幕或xcrun simctl uninstall [Device UDID] [app identifier]
中长按)或将设备擦除回默认状态来恢复。要擦除设备,请从终端执行xcrun simctl erase [Device UDID]
或从iOS模拟器菜单中选择Erase Contents & Settings
。此特定问题已在iOS 8.2测试版之一中修复。
Xcode 6.2用户出现了此问题的较新实例。如果您的应用程序中捆绑了WatchKit应用程序扩展,它将无法安装到早于iOS 8.2的iOS模拟器运行时版本。作为一种解决办法,当您想要使用iOS 8.1和更早的运行时进行测试时,需要手动禁止安装应用程序扩展。
如果您需要更具体的帮助,请提供CoreSimulator.log的完整错误消息,以及在~/Library/Logs/CoreSimulator/Device UDID/system.log中几乎同时出现的来自installd和CoreSimulatorBridge的任何消息,因为这将揭示潜在问题。
发布于 2014-09-04 03:53:10
您的项目是否包含小部件或扩展?如果是这样的话,问题可能出在小部件/扩展的捆绑标识符上。它应该与主目标相同,并附加一个句点和一个额外的字符串。举个例子:
主要目标:com.mycompany.myapp
小部件应该是:com.mycompany.myapp.widget
发布于 2014-09-30 00:36:36
我通过重置模拟器修复了它:
iOS模拟器>重置内容和设置...
https://stackoverflow.com/questions/25632886
复制相似问题