8

我尝试通过 Xcode(以及应用程序加载器)向 Apple 商店提交应用程序,但收到以下错误:

无效的捆绑结构 - 不允许使用二进制文件“xx.app/xx”。您的应用程序可能只包含一个可执行文件。有关 iOS 应用程序包结构的信息,请参阅 Bundle Programming Guide。

我检查了文件生成的文件/项目设置,根据 Bundle Programming Guide 没有发现问题所在。

我们试图清理我们的代码存储库,并通过更新构建文件夹位置以及派生数据位置来清理构建,但仍然得到相同的错误。

Apple 给我们的唯一反馈是询问我们是否使用 3rd 方库,我们确实这样做了。直到几天前才发生这种情况。

任何建议或逐步说明上传我们的二进制文件将不胜感激。

我们正在使用版本 4.6.2 (4H1003) 以及 Application Loader 2.8 上传到 iTunes,并且我们之前已经部署了多个具有完全相同结构的应用程序(最后一个应用程序是在错误发生前 2 天部署的,现在尝试将最后一个工作二进制文件重新上传到备用应用程序 [在更改相关应用程序特定信息后] 失败)。

提前致谢。

4

7 回答 7

8

对我来说,答案是

  1. /Users/myusername/Library/Developer/Xcode/Archives

  2. 转到当前文件夹以获取最新存档。

  3. 右键单击 .xarchive 并选择“显示包内容”

  4. 在“产品/应用程序”目录中导航

  5. 右键单击 myAppName.app 并选择“显示包内容”

  6. 删除最底部未命名为myAppName.exe的exe

于 2014-06-16T19:38:18.603 回答
4

一些开发人员在集成Apptentive iOS SDK时遇到了这个问题。与其他 3rd-party SDKS 发生相同的错误将导致相同的问题。

无效的构建结构

'YourApp.app/libApptentiveConnect.a'不允许使用二进制文件。

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

将 Apptentive 静态库复制到应用程序包时会发生此错误。

libApptentiveConnect.a应该添加到目标的Link Binary with Libraries构建阶段。

不应其添加到目标的Copy Bundle Resources构建阶段。

于 2015-04-24T23:19:26.290 回答
3

我知道这是一个相当老的帖子,但我遇到了这个问题,这就是我修复它的方法:

  1. 在 Xcode 中,单击您的项目并转到目标的构建设置。
  2. 确保“构建变体”设置仅为目标设置“正常”。
  3. 清洁和重建。

我相信这是解决问题的原因,但还有另一项更改可能会产生影响。

有一次,我在我的活动方案中关闭了“并行化构建”。我已经重新打开它,但也许它留下了一些工件。我怀疑这有什么联系,但以防万一,我去了我的构建文件夹并在我清理和构建之前删除了里面的文件。

我希望这可以帮助遇到这个问题的人。

于 2013-09-26T21:42:31.547 回答
1

我已将我的 NSBundle.m 放在 Copy bundle 资源中 - 不要那样做 :(

于 2018-01-07T14:43:43.137 回答
0

我也遇到了这个。在我的例子中,一个二进制文件(Xcode)的符号链接已被添加到项目中(不知何故)。从项目中删除是修复。

于 2013-11-28T01:35:33.163 回答
0

看屏幕截图,这是xcode的右侧,上面写着“文本编码”,我的4个头文件和目标C文件被称为“常规文本文件”而不是“Unicode(UTF-8),它们是如何是这样的,我不知道,但 xCode 决定将它们制作成二进制“.o”文件,甚至将它们放在 png 文件所在的存档项目中。

在此处输入图像描述

于 2017-09-18T22:09:47.900 回答
-2

我遇到了这个问题,尝试了上述所有解决方案,但对我不起作用。最后通过在 iTunesConnect (itunesconnnect.apple.com) 中创建应用程序解决了这个问题。

于 2015-10-02T09:11:40.633 回答