【问题标题】:Unable to run app in simulator无法在模拟器中运行应用程序
【发布时间】:2014-12-11 08:00:54
【问题描述】:

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

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]:错误域=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 代码=146 "无法在当前状态下查找:关机" UserInfo=0x7fcf6fc24190 {NSLocalizedDescription=无法在当前状态下查找:关机})

2014/10/15 9:09:40.980 com.apple.CoreSimulator.CoreSimulatorService[979]:错误域=com.apple.CoreSimulator.SimError Code=146“无法在当前状态下查找:关机”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)

有什么想法吗?

【问题讨论】:

  • @SidShah 它已经在选择 6.0.1 命令行工具
  • 试试对我有用的 casariegj 答案..
  • 对我来说,我不得不再次清理和构建。据我所知,一切快乐与所说的一切之间的唯一区别是我切换了屏幕尺寸。这没有任何意义。感觉像是低级别的挑剔,但清理/构建修复了它。
  • 有不同的错误消息:“无法安装应用程序,无效参数”。但解决方案是一样的。

标签: ios xcode ios-simulator


【解决方案1】:

您所做的一切都是正确的,但 Xcode 和 Swift 仍处于早期阶段,这意味着它们现在还有一些问题。或许可以尝试再次重启你的 Xcode 和 iOS 模拟器。

【讨论】:

  • 嘿,Rusher,我尝试重新启动 Xcode 和模拟器,但它不起作用。无论如何,谢谢你的建议。我记得在我 13 岁的时候,我正在使用 Visual Basic 6.0 开发自己的 MMORPG。当时互联网听起来像这样youtu.be/vvr9AMWEU-c。我很幸运,我在很小的时候就找到了我想做的事情,我打赌你也是。只想说,做你想做的,继续前进,享受它:)
  • @VictorLin 感谢您的支持!我有这个错误,但我告诉你的对我有用。我能够解决此问题的唯一方法是删除应用程序并重新下载这可能需要一段时间,但我认为这将是非常值得的!请您确定这篇文章是否帮助您投票并检查它是否真的有帮助的答案。谢谢
  • 抱歉,您的解决方案对我没有帮助:P
  • 您是否尝试删除并重新下载该应用程序?
  • 你的回答并没有解决整个问题,但是,因为你关于删除应用程序的建议在某种程度上是有帮助的,所以谢谢你,虽然我发布了我自己的全部根本原因和解决方案,但我仍然坚持投票给你的答案。
【解决方案2】:

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

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

  • 内置应用文件夹
  • 模拟器中的应用文件夹

由于 Xcode 可能只是简单地复制和覆盖目标 App bundle 文件夹,所以 resources 文件夹可能仍然存在于 App bundle 文件夹中。所以删除resources文件夹后,你需要

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

而App无法正常启动的原因,是因为resources实际上是bundle structure中的保留文件夹名称。通过在包中添加一个名为resources 的文件夹,不知何故破坏了正常结构。为了解决这个问题,我将名称从resources 更改为app_data,或者不管它是什么,都可以。

【讨论】:

  • 难以置信,我想知道文档中是否对此有任何引用。我刚刚花了一个下午试图找出问题所在,结果我也添加了资源文件夹引用......
  • 您先生,一位学者和一位绅士。和一个天才。您需要接受自己的答案,因为您完全值得 +2。
  • @Dario 请看developer.apple.com/library/mac/documentation/CoreFoundation/…,Resources 文件夹被app bundle 文件夹结构使用。
  • @VictorLin 请再次查看该页面,resources 文件夹在示例 Mac 应用程序(清单 2-3 和 2-4)中明确使用,但在 iOS 应用程序中未引用(清单2-2 和 2-3)。这个问题专门标记为 iOS,尽管可以假设苹果公司的某个人懒得为不同的捆绑结构实施不同的捆绑规则,但文档没有引用 iOS 应用程序中保留的 resources 文件夹。
  • @Dario 嗯,对不起,那我不知道保留名称 resources 来自哪里。但我敢打赌,Apple 将尽可能地重用他们现有的库,我认为他们不想浪费时间来构建他们已经拥有的东西。所以我认为 iOS 包结构很有可能继承了 Mac 应用包的某些内容。
【解决方案3】:

这可能有几个原因:

  1. 您在 Instruments 尝试使用 iOS Simulator.app 时退出了它。
  2. 在 Instruments 尝试使用另一台设备时,您在 iOS Simulator.app 中更改了启动设备。

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

【讨论】:

    【解决方案4】:

    在我的情况下,根本原因略有不同。在项目文件中,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 目录)才能使模拟器恢复正常运行状态。

    【讨论】:

      【解决方案5】:

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

      更正,转到项目数据;信息;将捆绑标识符设置为任何内容。它对我有用。

      【讨论】:

        【解决方案6】:

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

        【讨论】:

        • 我也做了同样的事情,它奏效了。
        【解决方案7】:

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

        【讨论】:

          【解决方案8】:

          清空所有文件 /Users/XXXXX/Library/Developer/CoreSimulator/Devices

          重启 Xcode 和模拟器。

          现在它可以工作了。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2021-09-18
            • 1970-01-01
            • 2014-10-25
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多