无法在模拟器中运行应用程序
今天,当我尝试在模拟器中运行我的应用程序,它只是告诉我
Unable to run app in Simulator An error was encountered while running (Domain = NSPOSIXErrorDomain, Code = 22)
错误对话框如下所示:
我尝试了很多东西:
- 重新启动Xcode
- 重新启动模拟器
- 重启
- 重置模拟器的内容和设置
以上都不是。 而且我看着日志,我发现这些logging与这个问题有关
2014/10/15 9:09:40.964 com.apple.CoreSimulator.CoreSimulatorService [979]:Error Domain = com.apple.CoreSimulator.SimError Code = 146“无法在当前状态下查找:closures”UserInfo = 0x7f96c861d000 {NSLocalizedDescription =无法在当前状态下查找:closures}
2014/10/15 9:09:40.964 Xcode [1983]:[MT] iPhoneSimulator:无法连接到“com.apple.instruments.deviceservice.lockdown”(错误域= com.apple.CoreSimulator.SimError代码= 146“无法在当前状态下查找:closures“UserInfo = 0x7fcf6fc24190 {NSLocalizedDescription =无法在当前状态下查找:closures})
2014/10/15 9:09:40.980 com.apple.CoreSimulator.CoreSimulatorService [979]:Error Domain = com.apple.CoreSimulator.SimError Code = 146“无法在当前状态下查找:closures”UserInfo = 0x7f96c861d000 {NSLocalizedDescription =无法在当前状态下查找:closures}
2014/10/15 9:09:42.351 launchd_sim:assertion failed:13F34:libxpc.dylib + 29453 [75E30F22-514B-3A20-B82C-EDA43AF5C35C]:0x8d
2014/10/15 9:09:42.362 com.apple.CoreSimulator.CoreSimulatorService [979]:无法注册服务com.apple.coreservices.lsuseractivity.simulatorsupport:查找失败com.apple.coreservices.lsuseractivity.simulatorsupport:0x44e
我也发现一些其他人在这里有同样的问题: https : //gist.github.com/bdeshong/2dd90add09b7287a9a85
谷歌search后,没有运气find解决scheme。
这是我的环境信息
- OSX 10.9.5
- Xcode 6.0.1
- iOS模拟器8.0(550.1)
有任何想法吗?
我find了根本原因,我也find了解决办法。 我做的第一件事是确保这与Xcode有关,而不是相对于项目本身的问题。 我试图创build一个新的项目,它工作得很好。 所以我认为是由我的项目中的东西造成的。
我实际上添加了一个resources
参考文件夹到我的项目。 所以我认为这个问题与它有关。 但是,即使我从项目中删除了文件夹,问题仍然存在。 最后,事实certificate, resources
文件夹可以居住在
- build立应用文件夹
- 应用程序文件夹在模拟器
由于Xcode可能只是复制和覆盖目标应用程序包文件夹,所以resources
文件夹可能仍然存在于应用程序包文件夹中。 所以删除resources
文件夹后,你需要
- 确保构build被清理
- 确保模拟器中的应用程序被删除
因为App不能正确启动,那是因为它看起来resources
实际上是捆绑结构中的保留文件夹名称。 通过将一个名为resources
的文件夹添加到捆绑包中,不知何故破坏了正常的结构。 为了解决这个问题,我把resources
的名字改成了app_data
,不pipe它是什么,都起作用了。
我得到了完全相同的错误。 在浏览我的项目信息时,我无意中删除了包标识符; 因此是“ErrorDomain”。
纠正,转到项目数据; 信息; 将捆绑标识符设置为任何内容。 它为我工作。
你正在做的一切正确,但Xcode和Swift仍处于早期阶段,这意味着他们现在是一个小错误。 也许尝试再次重新启动您的Xcode和iOS模拟器。
这可能有几个原因:
- 当Instruments试图使用它时,您退出了iOS Simulator.app。
- 您在iOS Simulator.app中更改启动的设备,而Instruments正在尝试使用另一个设备。
如果这两种情况都不是这样,请查看〜/ Library / Logs / CoreSimulator / * .log以获取更多有助于debugging的信息,并将其包含在您的问题中。
根本原因在我的情况稍有不同。 在项目文件中,iOS部署目标对于testing目标被设置为8.0,对于主要目标被设置为8.1。 我们在我们的构build服务器上运行带有8.0模拟器的Xcode 6.0.1(6A317),在主构build目标设置为8.1后,所有这些服务器都开始失败。
我不确定目标和testing是否使用了不同的iOS部署目标,或者项目文件中的8.1设置是否与8.0模拟器冲突,但是正是这种改变打破了几台机器上的模拟器。
不幸的是,在项目中将iOS部署目标设置回8.0后,仍然需要重新安装Xcode(我也删除了〜/ Library / Developer / Xcode目录)才能将模拟器返回到function状态。
我也一样 我只是强迫退出xcode和模拟器,然后为我工作。
检查您的/private/tmp
文件夹是否具有适当的权限,对所有用户应该是可写的和可执行的。
- iOS 7:如何设置UIBarButtonItem backButtonImage为UIControlStateHighlighted?
- 在iOS应用程序中预先填充UIWebView的HTML5脱机appcache
- WatchOS 2应用程序无法在装有dyld_fatal_error的设备上启动,而我的Framework Library未加载:未find图像
- 在iOS应用程序中的LaTex,MathML和XHTMLMathML之间的折衷?
- 重新构建新的App Store应用程序-Today视图
- 改变tabbar编辑视图控制器的色调
- UIPageControl和UIPageviewController不同步
- 使用屏幕锁定运行IOS应用程序
- drawRect和Interface Builder之间的颜色差异?
- 为iOS应用程序带来动态本地化– Vincent Pradeilles –中
- UITableView scrollToRowAtIndexPath不适用于最后4