【问题标题】:Xcode will run app on simulator but not on deviceXcode 将在模拟器上运行应用程序,但不在设备上
【发布时间】:2012-04-16 17:58:07
【问题描述】:

尝试在我的设备上运行应用程序时收到以下错误。

error: failed to launch '/Users/michael/Library/Developer/Xcode/DerivedData/Build/Products/Debug-iphoneos/Word Processor.app/Word Processor' -- No such file or directory (/Users/michael/Library/Developer/Xcode/DerivedData/Build/Products/Debug-iphoneos/Word Processor.app/Word Processor)

应用程序在模拟器中运行良好。当我尝试在设备上调试时,它似乎在复制应用程序(我可以看到图标),但随后出现上述消息停止。 Xcode 说它正在我的 iPod 上运行该应用程序,但我的 iPod 上什么也没有发生。

当我点击该应用时,该应用似乎正在启动,但似乎缺少资源。 我的其他项目工作正常。我需要更改什么设置才能使其正常工作。?查看错误消息,它似乎正在我的 Mac 中查找该应用程序。但这没有意义,因为我试图在我的第四代 iPod touch 上运行它。我正在使用 Xcode 4.3.1 和 iOS 5.1

【问题讨论】:

  • 很奇怪。它似乎已经通过重新启动 Xcode 自行解决了。但它仍然缺少资源。但是运行一次后,错误又回来了。
  • 似乎断断续续。问题又消失了。
  • 我遇到了类似的问题,它在模拟器上运行良好,但是当我尝试在设备上运行时似乎正在复制所有文件。
  • 我今天第一次看到这个。我有一个项目的两个分支都运行良好,但我无法从主干调试......奇怪。此外,如果我复制主干并将其放在其他地方(桌面)它运行良好。似乎有一些隐藏文件正在搞砸。 :(
  • 我遇到了同样的问题。该应用程序在使用 iphone 或 ipad 方案的模拟器中运行良好,但如果我附上 itouch,它会收到相同的错误消息(启动失败...未能获得进程任务)。但是,它会自行安装在 Touch 上,我可以在 Touch 上运行该应用程序,但不能通过模拟器在 Touch 上运行。每次都会发生。相同的应用程序在我的 iPhone 上运行良好,因此它特定于连接设备的模拟器。我开发的另一个应用程序没有这个问题。我尝试删除此应用的 DerivedData,但没有任何改变。

标签: ios xcode debugging xcode4


【解决方案1】:

对于 Mountain Lion 和最新版本的 Xcode (4.4.4F250),此线程中的建议都没有直接起作用(清理、清理项目、删除派生数据文件夹等)。这个序列做到了。来自DhilipSiva

  1. 断开您的设备
  2. 从您的设备中删除应用程序
  3. 退出 Xcode(不要只是简单地关闭窗口,退出它)
  4. 删除派生数据文件夹rm -fr ~/Library/Developer/Xcode/DerivedData(控制台)
  5. 启动 Xcode,连接设备并运行项目

【讨论】:

  • 这对我来说也适用于 Lion、Xcode 4.4、iPad 3 - 只是删除 DerivedData 文件夹不起作用,也没有清理项目等。我还在连接我的 iPad 和运行调试。至少我又跑起来了……Apple 带来的新的 bug 洪流真是令人沮丧。
  • P.S.不幸的是,我必须经常重复这个过程——绝对是任何时候改变正在使用的配置文件。
  • 为我工作 - 在尝试了许多其他没有的事情之后。谢谢!
  • 我知道这是一篇旧帖子,但有人知道为什么会出现这个问题吗?
【解决方案2】:

我通过转到目标-> 信息-> 所需设备功能并使用 armv7 删除该选项来解决此问题。

希望这会有所帮助!

【讨论】:

  • 确实,请确保您要在其上运行它的设备满足所需的设备功能!如果这是您的问题,删除 DerivedData 文件夹不是解决方案。
  • 天哪。谢谢克罗诺斯!我不知道为什么除了“无法启动没有这样的文件或目录”之外还有其他错误消息。
  • 我在最新的 xcode 版本中没有看到任何“需要设备功能”,与支持的架构相同吗?
【解决方案3】:

这是许多开发人员在当前版本的 Xcode 中反复出现的问题。临时解决方法一直是删除 DerivedData 文件夹。

您可以将其添加到构建脚本中,甚至可以将其设为 cron 作业:

rm -rf ~/Library/Developer/Xcode/DerivedData

悲伤,但真实。

【讨论】:

  • DerivedData 文件夹中的所有内容是否会在重新启动时自动重新生成?否则,我们是否必须担心配置?我使用 git 并存储我的主项目文件....所以我猜我会没事的...
  • 我已经删除了 DerivedData 文件夹,到目前为止还没有任何不良的副作用。删除给定 _.xcodeproj/ 文件夹下的以下文件夹是否也安全? “xcuserdata”和“project.xcworkspace”(我目前只是在我的 .gitignore 文件中忽略它们。)
  • @mda 我不确定。另一位开发人员建议我在 Xcode 中运行 Clean Build Folder 命令(按住选项键并从产品菜单中选择它)执行相同的操作,删除派生数据,但我尚未对其进行测试。如果是这样,那么您可以查看它是否也清除了 xcuserdata。 project.xcworkspace 是存储当前打开的 Xcode 选项卡和当前可见的面板等内容的地方,因此删除它——如果它不会损坏项目——应该只意味着你会丢失这些信息。不确定 xcuserdata 中的所有内容。
  • 它不能解决我的问题
【解决方案4】:

对我来说,重启 Xcode,清理 DerivedData 和重启设备在大多数情况下是不够的,直到我发现 iTunes 也在运行,退出 iTunes 后一切正常!

所以我现在的步骤很简单:

1.退出 Xcode。
2.如果 iTunes 正在运行,请退出 iTunes。
3.重新打开项目。

无需从设备中删除应用、清理项目或重启/断开设备。 我认为这是因为 Xcode 和 iTunes 使用了一些通用库(如您所知,Xcode Installer 在安装 iOS SDK 时总是要求退出 iTunes)。

【讨论】:

    【解决方案5】:

    从较低的 XCode 和 iOS 版本更改为当前的 XCode 和 iOS 版本后,我也遇到了这个问题。

    我通过将 iOS Depolyment Target 更改为较低版本来解决此问题,因为我的设备尚未更新到最新的 iOS。 您可以通过单击“信息”选项卡中的项目来执行此操作。

    【讨论】:

    • 最近我遇到了这样的问题,我尝试了这里所有答案中给出的每个解决方案,但这对我有帮助。谢谢 !有了这个答案,我将通过投票来帮助您获得银质徽章
    【解决方案6】:

    您是否查看过开发人员证书和分发证书(如果有的话)。从 Xcode 以调试模式运行时,您需要为您的应用分配开发者证书而不是分发证书。分发证书不允许调试。

    【讨论】:

    • 这是我的问题。我错误地选择了我的分发证书作为 Debug 构建配置的代码签名身份。我的项目在设备上构建并运行,但我看不到任何控制台日志记录,并且 Xcode 出现“无法启动任务,无法获取进程任务”错误。切换回开发者证书解决了这个问题。
    【解决方案7】:

    只要 Info.plist 中描述的设备功能与设备的功能不匹配,就会出现此错误。

    就我而言,我请求 GPS 支持和定位服务支持并尝试在 iPod touch 上进行测试。

    【讨论】:

    • 谢谢,我设置了ipad没有的短信功能,所以找不到文件/文件夹,奇怪
    【解决方案8】:

    我为这个问题苦苦挣扎了 2 天,浏览了所有帖子,尝试了所有选项,包括重新启动 Xcode、设备、删除 DerivedData 文件夹等。

    最后,问题出在 Info.plist 文件上。就我而言,我在 Info.plist 文件中有不正确的图标路径。我建议您将应用程序存档,然后对其进行验证以解决您遇到的确切问题。只有当我这样做时,我才能找到问题。

    【讨论】:

    • 这个答案为我提供了解决我的问题的线索,但仅在 2 个 iPad 设备之一上。在我的情况下,我的项目文件中缺少 ino.plist 中指定的字体文件。然而,在其他 iPad 1 设备上,目前还没有任何解决方案可用。
    【解决方案9】:

    删除了 armv6 支持,它又开始工作了

    【讨论】:

    • 感谢 Phearnix 解决了我的问题……
    【解决方案10】:

    我用DhilipSiva的解决方案多次解决了这个问题。但是,它有时可能不起作用。如果是这种情况,请考虑删除并重新添加目标。

    【讨论】:

      【解决方案11】:

      我在几个不同的项目中偶然发现了同样的问题,在论坛上进行了很多研究,甚至在 Stack Overflow 上也进行了研究。给出了很多解决方案,有些人似乎让他们工作,但没有一个对我有用。 所以我们尝试了一些非常明显的行动方案,由于某种原因我们以前没有考虑过:我已经在错误消息指示的 EXACT 路径上执行了 CHMOD -R 777(我直接复制了它)。

      像魅力一样工作,100% 次!

      希望对大家有帮助!

      【讨论】:

        【解决方案12】:

        正如 Chronos 提到的,设备功能可能是原因。此外,我想说的是,就我而言,这都是关于 UIRequiresPersistentWiFi 键的,它(由于某些不清楚的原因)不允许我在 iPhone4 上安装我的应用程序。希望这可以帮助那些尝试过其他所有方法但尚未解决问题的人。

        【讨论】:

        • UPD:在带有 XCode 6 GM 的 iOS 8 GM 上,这个问题无缘无故出现。
        【解决方案13】:

        我通过转到 Targets-> Info -> Required Device capabilities 来解决这个问题,如果 armv7 不在 0 索引中,则检查 0 索引处的 id,然后删除其他内容并将 armv7 设置为 0 索引并清理应用程序连接设备并运行。

        希望这对您有所帮助!

        【讨论】:

          【解决方案14】:

          我做了这些步骤:

          1. 删除派生数据:rm -rf ~/Library/Developer/Xcode/DerivedData
          2. 深度清理项目:Shift键+Option键+Command键+字母K键
          3. 退出项目
          4. 退出 XCode
          5. 从我的设备中删除了应用程序

          当我重新打开 Xcode,启动项目,然后启动应用程序时,它相继在我的设备上运行

          【讨论】:

            【解决方案15】:

            对我来说是Command Line Tools 转到 Xcode -> 首选项 -> 位置 -> 命令行工具

            确保选择最新的 Xcode 版本。我选择了 Xcode 11.0,一切都开始工作了。

            【讨论】:

              【解决方案16】:

              我得到了类似的问题,并通过互联网搜索了一整天还没有解决...

              Xcode 12, iOS 14.

              我正在使用 cocoaPods 调用 GCDWebServer,它将在 iOS 中打开一个内置的 http 服务。现在它在模拟器中运行良好,我可以在我的 Mac 浏览器中打开它的主页。但是如果用真正的 iPhone 运行它,我无法打开主页。浏览器提示“无法连接到服务器”

              在控制台中,一切都是一样的,没有为我提供任何错误。 那么,我该如何调试呢?

              [DEBUG] Did open IPv4 listening socket 3
              [DEBUG] Did open IPv6 listening socket 4
              [INFO] GCDWebUploader started on port 80 and reachable at http://192.168.1.3/
              

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2012-09-12
                • 1970-01-01
                • 2011-11-10
                • 2014-09-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多