4

我正在尝试创建一个临时构建的 iPhone 应用程序以进行 beta 测试。

最后,他们看到如下错误:

“xxx 处应用程序的 info.plist 指定了 (null) 的 CFBundleExecutable,它不存在”

以下是实际 info.plist 的摘录:

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

它显然不是空的。

我在这里做错了什么?

4

4 回答 4

6

工作解决方案是这个(并且只有这个):

在 Xcode 中,从项目层次结构中选择“Executables”。单击您的项目可执行文件,然后按 Command-I。选择常规选项卡并将工作目录设置为“构建产品目录”。

通过 BrainwashInc 发现,该公司归功于 MacHackShack。我认为这些有价值的信息太重要了,不能随意留在博客上。

似乎有时 XCode 可能会翻转此设置,因为我突然开始遇到此问题,并且上面的修复程序修复了它。每次将其更改回“项目目录”都会为我重现该问题。

一旦此修复程序安装了应用程序,我还必须重新启动 XCode 以使调试器工作,这可能是无关的。

于 2009-12-07T17:53:37.210 回答
2

我认为没有一个可行的解决方案。我发现了几个对我不起作用的解决方案。最后,我确实找到了一种解决方案。

通过删除我在 xCode 的“产品”文件夹中的所有内容,我设法让它工作。我正在使用 xCode 3.2.1。

注意:我也对上面的“构建产品目录”进行了更改,也许这两个解决方案都需要实现,由你来尝试。

至少可以说,这很烦人。作为初学者,如果没有 SDK 中的错误,事情就足够复杂了……

希望这会帮助那里的人!

干杯

于 2010-01-29T07:59:22.950 回答
1

这是 SDK 的一个已知问题:

从“Build Products directory”更改 iPhone Executable 的工作目录可能会导致应用程序无法正确安装,并显示错误消息“The Info.plist for application at (null) specified a CFBundleExecutable of (null), which does not exist.”< /p>

正如你在这里看到的:http: //developer.apple.com/iphone/library/releasenotes/General/RN-iPhoneSDK-3/index.html

对我来说,它可以改变工作目录。我创建了手动删除构建目录的问题。

于 2010-03-09T12:50:43.947 回答
1

听起来您正在查看项目中的 info.plist 而不是构建的产品。

项目 info.plist 中的“${EXECUTABLE_NAME}”只是构建脚本中变量的占位符。您需要查看构建产品中的 info.plist 以查看其中列出的内容。听起来出于某种原因,构建脚本没有按应有的方式填充该字段。

您实际上可能会检查应用程序包的内容是否确实具有可执行文件。我知道这听起来很奇怪,但几年前我和我的构建设置儿子一起搞砸了一个项目,最终得到了一个没有可执行文件的产品。其他一切,包、资源、字符串文件等都没有实际的程序。

于 2009-11-12T21:02:19.060 回答