繁体   English   中英

无法在模拟器中运行应用程序

[英]Unable to run app in simulator

今天,当我尝试在模拟器中运行我的应用程序时,它只是告诉我

Unable to run app in Simulator
An error was encountered while running
(Domain = NSPOSIXErrorDomain, Code = 22)

错误对话框如下所示:

无法在模拟器中运行应用程序

我尝试了很多东西:

  • 重启Xcode
  • 重启模拟器
  • 重启
  • 重置模拟器的内容和设置

以上都不适用。 我查看了日志,我发现这些记录与此问题有关

2014/10/15 9:09:40.964 com.apple.CoreSimulator.CoreSimulatorService [979]:错误Domain = com.apple.CoreSimulator.SimError Code = 146“无法在当前状态下查找:关闭”UserInfo = 0x7f96c861d000 {NSLocalizedDescription =无法在当前状态下查找:关机}

2014/10/15 9:09:40.964 Xcode [1983]:[MT] iPhoneSimulator:无法连接到“com.apple.instruments.deviceservice.lockdown”(错误域= com.apple.CoreSimulator.SimError Code = 146“无法在当前状态下查找:关闭“UserInfo = 0x7fcf6fc24190 {NSLocalizedDescription =无法在当前状态下查找:关机}”

2014/10/15 9:09:40.980 com.apple.CoreSimulator.CoreSimulatorService [979]:Error Domain = com.apple.CoreSimulator.SimError Code = 146“无法在当前状态下查找:Shutdown”UserInfo = 0x7f96c861d000 {NSLocalizedDescription =无法在当前状态下查找:关机}

2014/10/15 9:09:42.351 launchd_sim [2047]:断言失败: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

谷歌搜索后没有运气找到解决方案。

这是我的环境信息

  • OSX 10.9.5
  • Xcode 6.0.1
  • iOS模拟器8.0(550.1)

有任何想法吗?

我找到了根本原因,我也找到了解决方案。 我做的第一件事就是确保这与Xcode有关,而不是与项目本身有关的问题。 我试图创建一个新项目,它工作得非常好。 所以我认为这是由我的项目中的某些东西引起的。

我实际上在项目中添加了一个resources引用文件夹。 所以我认为这个问题与它有关。 但是,即使我从项目中删除了该文件夹,问题仍然存在。 事实证明, resources文件夹可以存在

  • 内置App文件夹
  • 模拟器中的App文件夹

由于Xcode可能只是复制和覆盖目标应用程序包文件夹,因此resources文件夹可能仍然存在于应用程序包文件夹中。 因此,删除resources文件夹后,您需要

  • 确保清理构建
  • 确保删除模拟器中的应用程序

由于App无法正确启动,因为它看起来resources实际上是捆绑结构中的保留文件夹名称。 通过在包中添加名为resources的文件夹,以某种方式破坏了正常的结构。 为了解决这个问题,我将名称从resources更改为app_data ,或者不管是什么,都可以。

你正在做的一切都是正确的,但Xcode和Swift仍然处于早期阶段,这意味着他们现在有点小马车。 也许再试一次重启你的Xcode和iOS模拟器。

我得到了完全相同的错误。 浏览我的项目信息时,我无意中删除了包标识符; 因此“ErrorDomain”。

纠正,转到项目数据; 信息; 将包标识符设置为它是什么。 它对我有用。

出现这种情况有几个原因:

  1. 当Instruments试图使用它时,你退出了iOS Simulator.app。
  2. 您在iOS Simulator.app中更改了启动的设备,而Instruments正在尝试使用另一个。

如果不是这种情况,请查看〜/ Library / Logs / CoreSimulator / * .log以获取可能有助于调试的更多信息,并将其包含在您的问题中。

在我的情况下根本原因略有不同。 在项目文件中,iOS部署目标对于测试目标设置为8.0,对于主目标设置为8.1。 我们在构建服务器上运行了Xcode 6.0.1(6A317)和8.0模拟器,在主构建目标设置为8.1之后,所有模拟器都开始失败。

我不确定目标和测试是否使用不同的iOS部署目标,或者项目文件中的8.1设置是否与8.0模拟器冲突,但正是这种变化打破了几台机器上的模拟器。

不幸的是,在项目中将iOS部署目标设置回8.0之后,它仍然需要重新安装Xcode(我还删除了〜/ Library / Developer / Xcode目录)以将模拟器返回到功能状态。

我也一样。 我刚刚强制退出xcode和模拟器然后为我工作。

检查您的/private/tmp文件夹是否具有适当的权限,对所有用户都应该是可写的和可执行的。

清除/ Users / XXXXX / Library / Developer / CoreSimulator / Devices中的所有文件

重新启动Xcode和Simulator。

现在它会起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM