Xcode 4错误:启动可执行文件时出错

82
我在iOS和Xcode上测试我的应用程序时遇到了问题,当我将其上传到我的实际设备(iPhone和iPad)时,我想知道是否有人知道这个问题并能够帮助我:

通常当我在我的设备上构建我的应用程序时,该应用程序会在我的设备上安装和启动。但是,由于我正在准备提交我的第一个应用程序,所以我正在进行测试并更改捆绑标识符、应用程序ID和开发配置文件(因此问题可能与此有关),现在,当我尝试在我的设备上构建我的应用程序时,尽管它已经成功安装在我的设备上,但是Xcode不再启动应用程序。相反,我收到了这个错误消息:

启动可执行文件时出错。 错误启动远程程序:没有这样的文件或目录。

有人知道这个问题是什么吗?这个衍生数据文件夹是什么?

非常感谢!


参见:https://dev59.com/Hm445IYBdhLWcg3wdqSO - Wilbur Vandrsmith
15个回答

125

我也遇到过这个问题。我关闭、重新启动了Xcode;从设备中删除了应用程序并重新安装它,然后问题就解决了。


我不得不“踢动我城市的核反应堆”才能让我的工作正常。 - bobobobo

89

从零开始运行应用程序

对于我来说,直到我按照以下顺序完成以下步骤后,问题才得以解决:

  1. 从设备中删除该应用程序 (在尝试再次调试之前执行此操作)
  2. 退出XCode (不仅是关闭项目)
  3. 删除应用程序的构建文件夹 (示例路径:/Users/myusername/Library/Developer/Xcode/DerivedData/MyProject-fhkaamuyvqhubaezinqbmxbnaufd/)
  4. 重启XCode
  5. 最后--再次尝试在iOS设备上进行调试

步骤3中的应用程序构建文件夹是指您的应用程序的构建文件夹,该文件夹是“DerivedData”的子级。要找到它,可以在Finder中显示应用程序,然后返回到“DerivedData”文件夹,并删除上面的文件夹,例如“MyApp-crazylongweirdletters”。没有这第三步,我无法进行调试,因此这是一项关键步骤,您必须在执行此步骤之前退出XCode。

对于某些人来说,似乎只需重新启动XCode即可解决问题,但对我来说不行。

我发表这个答案只是因为早期的答案对我没有用。希望其他人能找到这篇文章并松一口气。 :)

注:

  • 当我修改应用程序的Bundle ID时,问题开始发生。
  • 我的代码签名是正确的。我的配置文件是“团队配置文件”,适用于任何应用程序ID(“iPhone开发人员”自动配置文件选择器的默认值)。
  • 我正在进行调试构建(非发布/分发)。

5
这对我有效。只需确保退出 XCode 而不是仅关闭项目。 - Jorge Garcia
1
这种情况也发生在我身上,但是问题被解决了——似乎是由于我需要更新分发证书所导致的。 - Simon East
1
这对我也起作用了,即使退出Xcode并从设备中删除应用程序也不行。我能够从设备上运行应用程序,但不能使用调试器。 - Wil Macaulay
2
推荐的答案对我没用,但这个方法非常有效!只是为了澄清给任何人阅读,要在Xcode中找到构建文件夹,请单击窗口中的文件列表视图中的应用程序并“在查看器中显示”。 - sradforth
1
他不是任何人的英雄..(http://www.youtube.com/watch?v=PDJwu2rugG0)--(只有副歌部分)这个答案值得被选为最佳答案! - bobobobo
显示剩余4条评论

10

如果我没记错的话,使用发行版签名的应用程序无法在Xcode中进行调试。然后你会收到这样的信息,gdb无法附加到进程。


嗨Vincent!即使我使用开发者配置文件构建了我的应用程序,仍然遇到了相同的问题。 - ravoorinandan
1
@ravoorinandan 请尝试我的解决方案(关闭XCode,删除您的应用程序构建文件夹,然后打开XCode并尝试调试。最好在运行之前删除您的应用程序。在尝试这些步骤之前,我一直在苦苦思索。如果这对您有用,请投票支持我的答案(不仅仅是这个评论)。 - Sam

8

我终于找到了错误所在!

我一直在调整我的info.plist文件,更改了可执行名称、捆绑包和捆绑包显示名称!当我把它们改回默认值(分别为EXECUTABLE_NAME、PRODUCT_NAME、PRODUCT_NAME)时,它就完美地工作了。


3
我遇到了一个与我的plist相关的问题,这也导致了同样的问题。你们一定要仔细检查自己的plist文件!感谢这个提示! - Ethan Allen

4
从设备上删除该应用程序(按住并删除),然后重试。

3

对我来说,这些方法都没有起作用。虽然错误相同,但解决方法不同。

我的问题是由于我无意中将“部署目标”(iOS版本)更改为了高于我尝试运行代码的手机上所使用的版本。

修复方法很简单- 将部署目标降低到低于或等于我手机上的iOS软件版本即可 :)


2

我的代码签名不正确,导致出现了相同的错误。

进入你的项目 > Targets > Build Settings > 检查调试状态下的代码签名。


1
我偶然发现了一个解决方案,它解决了在新的4.3.5设备上构建应用程序时出现的警告问题。
如果我将配置文件设置为分发,那么在构建应用程序时我就不会收到警告消息,但是调试器会附加到设备上。
如果我将代码签名设置为分发配置文件,则在构建过程中不会出现任何警告,但调试器将无法附加。因此,关于签名基础的答案似乎是正确的。这可能只是在带有xcode的较新的4.3.5设备上才会出现问题。

1

我有同样的问题。我通过更改项目目录名称,然后再次启动应用程序来解决它。


1

我曾经遇到过同样的问题,解决方法是退出XCode,从设备中删除应用程序,然后再次运行程序。这样我就解决了问题。我的一个朋友不得不重启设备才能解决。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接