Xcode将在模拟器上运行app,但不在设备上运行

时间:2012-04-03 04:37:43

标签: ios xcode debugging xcode4

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

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

16 个答案:

答案 0 :(得分:77)

使用Mountain Lion和最新版本的Xcode(4.4.4F250),此线程中没有任何建议可以直接使用(干净,干净的项目,删除派生数据文件夹等)。这个序列做到了。来自DhilipSiva

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

答案 1 :(得分:14)

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

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

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

伤心,但确实如此。

答案 2 :(得分:14)

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

希望这有帮助!

答案 3 :(得分:9)

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

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

<强> 1。退出Xcode。
2。如果iTunes正在运行,请退出iTunes。
第3。重新开放项目。

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

答案 4 :(得分:7)

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

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

答案 5 :(得分:4)

如果有,请查看开发人员证书和分发证书。从Xcode以调试模式运行时,您需要使用开发人员证书分配您的应用程序,而不是分发证书。分发证书不允许调试。

答案 6 :(得分:4)

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

在我的情况下,我正在请求GPS支持和位置服务支持,并尝试在iPod touch上进行测试。

答案 7 :(得分:3)

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

最后,问题出在Info.plist文件中。就我而言,我在Info.plist文件中有不正确的图标路径。我建议您归档应用程序,然后验证它以获得您的确切问题。只有当我这样做时,我才能找到问题。

答案 8 :(得分:3)

删除了armv6支持并重新开始工作

答案 9 :(得分:3)

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

答案 10 :(得分:1)

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

像魅力一样,100%次!

希望它有帮助,伙计们!

答案 11 :(得分:1)

作为Chronos mentiod,设备功能可能就是原因。另外我会说,在我的情况下,所有关于 UIRequiresPersistentWiFi 键,(由于一些不明原因)不允许我在iPhone4上安装我的应用程序。希望这能帮助那些尝试过其他所有事情并且尚未解决问题的人。

答案 12 :(得分:0)

我通过转到目标来解决这个问题 - &gt;信息 - &gt;如果armv7不在0索引中,则需要设备功能并检查0索引处的id然后删除其他内容并将armv7设置为0索引并清理应用程序连接设备并运行。

希望这有用得很好!

答案 13 :(得分:0)

我做了以下步骤:

  1. 删除衍生数据:time.sleep
  2. 深度清理项目:Shift键+ Option键+ Command键+字母K键
  3. 退出项目
  4. 退出XCode
  5. 从我的设备中删除了应用
  6. 当我重新打开Xcode,启动项目,然后启动应用程序,它连续在我的设备上运行

答案 14 :(得分:0)

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

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

答案 15 :(得分:0)

我也遇到类似的问题,并且整天都在通过互联网进行搜索,但是还没有解决办法...

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/