139

Xcode 已经停止运行我的应用程序,它在我从设备中删除它并尝试通过在 Xcode 中重新运行它来重新安装后直接启动(我以前做过数百次)。

它说

“无法启动 XXX.app”

“没有这样的文件或目录(/Users/Mylaptop/Library/Developer/Xcode/DerivedData/MyApp-ekxcbebfpzkahtfkujyqkcwprzia/Build/Products/Debug-iphoneos/MyApps.app/MyApp)。”

我重新启动了手机,重新启动了 Xcode,清理了一切,重建了一切。此错误消息不会消失。

这是我自推出以来一直在使用的 Xcode 4.5,如果我恢复到 4.3.2,那么 Xcode 会显示“已完成运行应用程序”,但它实际上并没有做任何事情——该应用程序既没有安装也没有运行。

我完全陷入困境 - 无法再在设备上运行任何东西。

有什么建议么?

4

34 回答 34

126

这真的很烦人。此错误发生在许多不同的情况下。有时重新启动 Xcode 可以解决问题。如果没有,请按照下列步骤操作:

断开您的设备。

从您的设备中删除该应用程序。

退出 Xcode(不要只是简单地关闭窗口,退出它)

删除派生数据文件夹(~/Library/Developer/Xcode/DerivedData/-gbrvhlvwmpiobxdujegtghggrffp- 或类似的东西)

现在再次启动 Xcode,连接设备并运行项目。它应该可以正常工作。

来自 DhilipSiva博客

于 2012-09-26T05:58:47.223 回答
57

尝试删除 -Info.plist 文件中的“所需设备功能”。

您不能在 3G 上要求 armv7,也不能在任何较新的设备上要求 armv6,因此只需完全删除此属性。

于 2012-09-02T15:39:26.673 回答
38

我找到了答案。iOS 部署目标的版本与我设备的操作系统版本不同。

于 2012-08-28T02:42:03.343 回答
13

首先使用 info.plists 尝试上述一些方法并删除派生数据、清理等。

我的解决方案:退出 XCode,重新打开项目。转到 Finder 中的派生数据。已删除所有项目的数据(都是可回收的,但我会先尝试删除您有问题的项目数据)。然后它又起作用了。从 XCode 中删除派生数据不起作用。

于 2012-08-16T08:50:29.370 回答
10

以下解决了我的问题......我的应用程序在调试/发布中为我工作,然后我构建了一些临时存档并且调试/发布版本停止工作。

症状:

  • 从 Xcode 启动到设备时出现无效权利错误(使用权利播放...)
  • 运行模拟器时立即中止且没有错误(已完成运行)
  • 无法启动...目录blabla.../build/product/debug-iphoneos/...从Xcode 启动到设备时找不到。

最终在尝试从其他人的痛苦中受益之后,我在 Targets [AppName] 中发现:

Build Settings
Build Locations
Build Products Path build

应该

Build Products Path build/Products

不知道这是如何设置错误的。这必须在 Xcode/Springboard 中的某个地方进行硬编码,因为“产品”同时出现在 Xcode 和设备控制台中。这是 Xcode 4.5.1。

在哪里设置构建/产品的屏幕截图

于 2012-11-01T13:26:46.837 回答
7

我解决了这个问题

重命名我的 XCode 项目上方的目录

更改项目的名称XCode为我修复了它。

XCode中,在 Project Navigator 下,单击项目名称,它应该可以让您重命名它,就像 Finder 中的文件一样。删除派生数据没有帮助。

于 2012-10-18T13:44:31.990 回答
6

我用 CMake 构建了我的 XCode 项目,并以某种方式(或我愚蠢的自己)删除或清空了 info.plist 中的属性“可执行文件”。我将它设置回 ${EXECUTABLE_NAME} 并且它再次工作。

花了我很多时间处理所有建议和修复,直到我最终发现这个问题。

希望这会帮助一些在同样问题上苦苦挣扎的人

编辑:

CMake 在某种程度上弄乱了我的 plist 文件。我创建了自己的 Info.plist 并按以下方式使用它:

SET_TARGET_PROPERTIES( MyApp PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_LIST_DIR}/MyApp.plist )

在我的 plist 中,我有这个条目:

<key>CFBundleExecutable</key> <string>${EXECUTABLE_NAME}</string>

不幸的是,CMake 似乎仍然解析该文件并将 ${EXECUTABLE_NAME} 替换为空字符串,因为它是 CMake 变量语法。我的快速解决方法如下:

SET( EXECUTABLE_NAME "\${EXECUTABLE_NAME}" )

现在它就像一个魅力。

我可能只有这个问题,但谁知道呢。

于 2013-01-31T15:45:29.300 回答
5

我有同样的问题,但在我的情况下,我的 info.plist 中有错误的要求(iPhone 3Gs 需要陀螺仪)

于 2012-07-31T18:28:55.103 回答
4

对我来说,解决方案就是使用正确的(非分发)配置文件。

我默认始终使用我的临时配置文件,但后来我改为使用我的开发人员配置文件(团队配置文件)并且解决了问题。为了安全起见,我继续清理了派生数据目录,但我不确定是否需要它。

XCode 曾经有一个警告,告诉您使用正确的配置文件,但该错误消息似乎在 XCode 4.5 中消失了。

于 2012-11-09T20:29:49.300 回答
4

我通过一个非常奇怪的解决方案遇到了这个问题。

我的问题略有不同,因为我在钥匙串中有 2 个开发人员证书。我们有两个开发者帐户(比如说 AD 和 BD)。

1)我确实将捆绑标识符从 com.BD.game 更改为 com.AD.game 2)我遇到问题的设备仅在 AD 配置文件中登录。3) 我无法在 iPad 上调试游戏——尽管设备有有效的配置文件,我有有效的证书,我重新启动了 Mac、设备、重新安装了 Xcode……没有任何帮助。

我今天所做的是检查 project.pbxproj 文件中是否有任何奇怪的条目。

我发现 Xcode 使用了正确的配置文件,但使用错误的证书签署了 ipa/app。

"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: **BD** (XX******)";

在我手动更正名称和 ID 后;一切都像魅力一样。

于 2013-01-30T10:58:07.507 回答
4

我得到了同样的错误。在我的情况下,我将部署目标设置为 6.1 并尝试运行 iOS 5.1 iPad。当我将部署目标更改为 4.3 时,问题解决了。


仍然有问题。试试这个断开您的设备。从您的设备中删除该应用程序。退出 xcode。现在启动 Xcode,连接设备并运行项目。它应该可以正常工作。

于 2013-08-14T06:49:50.777 回答
4

对我来说(使用 IOS 7 和 Xcode 5),当我在 Organizer 中使用我的设备“添加到会员中心”后,错误就消失了。

于 2013-09-26T19:03:19.500 回答
4

您需要将部署目标设置为低于您设备的版本

于 2012-10-29T06:52:17.113 回答
4

我试图在与开发项目不同的系统上运行我的项目。我收到“无法启动 xxx.app:.. 没有这样的文件..”。

从设备中删除了应用程序,然后从应用程序的 xcode 中的管理器中删除了派生数据。组织者-->项目-->派生数据-->删除

我的问题解决了。

于 2012-09-27T10:00:53.003 回答
3

我想提一下,在 Finder 中打开 DerivedData 文件夹的最简单方法如下:

  1. 打开管理器。
  2. 点击“项目”。
  3. 选择有问题的项目。
  4. 在 DerivedData 的路径旁边,单击小右箭头按钮。

删除 DerivedData 文件夹的内容对我有用。而不是使用“删除...”按钮,您应该更成功地通过 Finder 手动删除文件。

于 2012-09-17T20:41:14.897 回答
3

转到:您的项目目标 - > 信息,然后从自定义 iOS 目标属性中删除所需的设备功能。在我的情况下,是 armv7 和 armv7s。

之后,该应用程序在我的 iPhone 4 上成功构建。

这就是我删除这两个要求后的样子

于 2013-10-08T17:23:11.317 回答
2

我尝试了以上所有方法,但它仍然无法运行。我通过更改派生的构建位置解决了这个问题。文件>项目设置>“派生数据位置”更改为项目相关。或者您可以确保默认路径具有读/写权限。

于 2013-06-09T07:22:47.397 回答
2

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

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

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

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

于 2013-01-28T08:04:00.390 回答
2

对我来说,我忘记了 info.plist 的“所需设备功能”中有“电话”。删除了它,它终于在我的 iPad 上运行了。

于 2013-01-11T00:27:37.807 回答
2

我遇到了这个问题并尝试了一些对我不起作用的建议 - 然后我找到了关于删除 -Info.plist 文件中的“所需设备功能”的建议(对我来说包括位置服务和 gps)那行得通!然后我重新添加了它们,它仍然有效..去图。这是 xCode 4.6.1,我的应用是 Phonegap/Cordova 的开发人员

于 2013-03-26T21:42:54.050 回答
1

删除派生数据文件夹对我没有帮助。使用 Xcode 4.4.2唯一的解决方案是打开 Organizer 并删除 iDevice 上旧的过期和无关的配置文件。然后一切都再次完美运行。

于 2012-12-24T20:03:07.423 回答
1

这可能是一个红鲱鱼,但我在删除默认图像之前添加自定义启动图像时遇到了这些问题。删除默认启动和自定义图像,然后重新添加自定义图像为我修复了它。我正在使用 iOS 6 和 Xcode 4.5.2

于 2013-01-06T16:11:33.713 回答
1

似乎有一些不同的事情会导致这个非常有用的错误消息。

对我来说,这归结为 Info.plist 中的“所需设备功能”不正确。我错误地添加了一个空白数组项(在架构之上,armv7)。删除了空白数组项,现在一切正常!

于 2013-01-13T18:10:14.023 回答
1

这似乎很明显,但您还必须将部署目标设置为设备运行的操作系统。

因此,如果您升级到 iOS 6,它会将您的部署目标设置为 iOS 6。如果您正在测试的设备仍运行 5.1,则您需要部署到 5.1。

于 2012-10-09T19:41:22.967 回答
1

就我而言,我只是将 777 权限直接设置为 xxx.app 文件夹以访问所有文件并工作!

于 2013-05-21T23:35:09.663 回答
1

面临同样的问题,但现在问题解决了,我删除了Executable file info.plist。我将它设置回 ${EXECUTABLE_NAME} 并且它再次工作.. :)

在此处输入图像描述

于 2013-05-15T13:35:36.483 回答
1

我的问题似乎是在我的 plist 中选择“支持的界面方向”中的“人像”(顶部主页按钮)作为第 0 项。删除它或将其向下移动似乎可以解决我的问题。去搞清楚。

于 2012-09-21T19:21:00.623 回答
1

通过检查以确保我的文件部分中的productName属性与属性匹配,我的问题终于得到了解决。/* Begin PBXNativeTarget section */project.pbxprojname

一旦编辑它以使它们相同,Xcode 终于可以在我的设备上正确运行该应用程序了!

感谢 Max Weisel 帮助我!:D

于 2012-11-06T22:26:08.317 回答
1

对于仅在我的 iPhone 上使用 Xcode 4.5 的通用应用程序,我也遇到了这个问题,我有两个调试设备:

iPhone 4 iOS 5.1.1
iPad 1   iOS 5.1.1

Info.plist 在“所需设备功能”下有一个空条目我知道我没有输入这个空的“项目 0”。自从我删除了空项目后,该应用程序在 iPhone 上加载。我在几个早期版本的 Xcode 中都没有遇到这个问题,这意味着 Xcode 4.5 对我使用的两个设备处理这个“插入”项目的方式不同。我以前错了,但这似乎是 Xcode 4.5 中的一个错误。

于 2012-09-24T15:29:22.940 回答
1

我遇到了这个问题,除了:我的问题在更改 info.plist 的内容后开始出现,并且没有任何恢复有帮助。

为我解决的问题是:

  1. 在一个全新的项目中创建一个 vanilla info.plist
  2. 用新的替换旧的 info.plist
  3. 重命名它(如 app_info.plist)
  4. 将 Build Settings/Packaging/INFOPLIST_FILE 设置为新的。
  5. 进行项目所需的所有更改

希望有帮助。我尝试了这里建议的所有其他方法,这对我来说是唯一的解决方案。

于 2013-05-11T05:57:50.027 回答
0

我正在使用工作区。主项目与一些图书馆项目相关联。最初项目运行良好。突然,它跑到了顶峰。一段时间后,我注意到构建项目的目标以某种方式从主项目更改为禁用运行选项的库项目。将 taret 更改为 Main 项目已修复它。我仍然想知道它是如何改变的。

于 2012-07-26T11:01:30.600 回答
0

我通过在构建设置中选择“无”作为我的可执行文件、关闭 xcode 并从 ~/Library/Developer/Xcode/DerivedData 手动删除所有派生数据,然后在重新启动 xcode 后选择默认可执行文件来解决了这个问题。不过,不太确定是什么原因造成的。

于 2012-07-24T23:05:40.663 回答
0

我遇到了同样的问题,只是该项目在其中一个测试 iPhone 上运行,而不是在另一个上运行。该错误与您发布的错误完全相同。问题在于,在 Build Settings > iOS Deployment Target 中,它被设置为 5.1,并且只有一台设备具有该操作系统。在我将其更改为 5.0 后,两个设备都运行良好。

于 2012-07-29T22:06:45.390 回答
0

没有任何!以上答案对我有用。我刚刚做了->转到您的主项目目标->“构建阶段”->“目标依赖项”添加您的项目依赖项(如果有)。

项目确实像魅力一样运行:)

于 2016-04-12T06:00:03.947 回答