无效的捆绑包结构 - 应用程序可能只包含一个可执行文件。

Posted

技术标签:

【中文标题】无效的捆绑包结构 - 应用程序可能只包含一个可执行文件。【英文标题】:Invalid bundle structure - The app may contain only one executable file. 【发布时间】:2013-11-27 19:20:53 【问题描述】:

This question 相似但不完全相同但没有解决方案。我查看了档案,只有一个可执行文件,所以我不知道如何继续。任何想法都非常感谢。

【问题讨论】:

我不确定,但我想知道“!”名称中的代码混淆了检查包结构的代码。 谢谢汤姆。我不这么认为,这个名字没有改变。我能想到的唯一变化是 XCode 的增量版本。我会尝试更改产品名称,看看是否有影响。 我解决了。我会在允许时发布答案。信不信由你,Xcode 的符号链接已复制到包中。 【参考方案1】:

无效的构建结构

二进制文件'YourApp.app/libYourLibrary.a'是不允许的。

您的应用可能只包含一个可执行文件。

当静态库文件被错误地复制到应用程序包中时会发生此错误。

您应该通过 Link Binary with Libraries 构建阶段链接 libYourLibrary.a 静态库。

它应该添加到目标的复制捆绑资源构建阶段。

【讨论】:

这帮助我解决了问题,在我的情况下,我将框架添加为链接库和嵌入二进制文件,从常规选项卡中删除嵌入二进制文件就可以了!谢谢很多! 就我而言,我从 Firebase 库添加到 XCode 项目“上传符号”:p 天哪,非常感谢!我花了几天时间试图找出问题所在。【参考方案2】:

我的应用被拒绝并显示相同的错误消息。事实证明,我在“复制捆绑资源”构建阶段复制了第三方框架(Fiksu)。该框架包含一个可执行文件,并且已经在“Link Binary With Libraries”构建阶段链接到该文件。我从“复制捆绑资源”构建阶段删除了框架。该框架在发布版本中继续正常工作。我重新提交了应用程序,它通过了验证。此处发布了类似的解决方案:

https://devforums.apple.com/message/1020254#1020254

【讨论】:

这是我的解决方案。谢谢。 对于 XCode 版本 8+ 这种类型的问题似乎会导致应用提交过程实际上完全崩溃 XCode。【参考方案3】:

事后看来,错误很简单。一个可执行文件被意外添加到项目中。在我的例子中,“Develop!.app/Xcode”意味着 Xcode 是可执行文件。检查项目中的文件列表,我发现了 Xcode 的符号链接。 (也许我以某种方式将它从 Dock 中拖到了项目中)。

如果您收到此错误,请查看项目中的文件——某处有一个可执行文件。

【讨论】:

【参考方案4】:

我第一次在我提交了多个版本的应用上遇到这个问题,没有任何问题。

我发现,尽管我已链接到我自己的一个库,但该库中的一个源文件出现在“复制捆绑资源”列表中的文件列表中。我不知道它是如何到达那里的,但删除它意味着我的应用程序构建、存档并成功提交。 :-)

【讨论】:

【参考方案5】:

如果您收到以下格式的错误: “无效的捆绑结构 - 不允许使用二进制文件 'Abc.app/AnyFileName.o'。

Build Phases > Copy Bundle Resources > 检查您的文件 AnyFileName.swift 也将添加到此处。 (删除它)

使用 XCode 验证它。错误消失了!!

【讨论】:

【参考方案6】:

在我的情况下,我尝试删除引用,但对我没有任何帮助。然后我卸载特定的 pod,删除此处提到的引用,然后再次安装该特定的 pod。它对我有用。

对于那些需要详细检查以下内容的人:

1) 在 Podfile 中,通过在开头添加 # 来注释特定的 pod 并保存:

在命令行运行:pod install // 它将卸载该框架

2) 从以下位置删除了对该框架的引用:

将二进制文件与库链接 // 在构建阶段 复制捆绑资源 // 在构建阶段 嵌入框架

3) 现在再次安装 Pod,删除之前添加的 # 并保存。

在命令行运行:pod install // 它将再次安装该框架

【讨论】:

以上是关于无效的捆绑包结构 - 应用程序可能只包含一个可执行文件。的主要内容,如果未能解决你的问题,请参考以下文章

错误 ITMS-90207:捆绑包不包含捆绑包可执行文件

无效的捆绑结构 - 不包括有效负载目录

Xamarin.iOS - 错误ITMS-90502:无效的捆绑包

Kotlin Multiplatform - 错误 ITMS-90171:无效的捆绑包结构

错误 ITMS-90092:“此捆绑包无效...” [重复]

如何捆绑包含依赖项的 Python 应用程序?