无效的捆绑结构 - iOS

时间:2013-05-07 16:47:56

标签: ios xcode itunes itunesconnect

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

  

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

我检查了文件生成的文件/项目设置,根据捆绑编程指南,我没有找到错误。

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

Apple给我们的唯一反馈是询问我们是否使用第三方库,我们这样做。这只发生在几天前。

我们非常感谢您上传二进制文件的任何建议或分步说明。

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

提前致谢。

7 个答案:

答案 0 :(得分:7)

对我来说,答案是

  1. 转到

    /用户/名为myUsername /库/开发商/ Xcode中/档案

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

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

  4. 在'products / applications'目录中导航

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

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

答案 1 :(得分:3)

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

  1. 在Xcode中,单击您的项目并转到目标的构建设置。
  2. 确保“Build Variants”设置仅为目标设置了“normal”。
  3. 清理并重建。
  4. 我相信这是解决问题的方法,但还有一个可能产生影响的变化。

    有一次,我在我的主动方案中关闭了“Parallelize Build”。我已经把它重新打开了,但也许它留下了一些文物。我怀疑这有任何联系,但为了以防万一,我去了在我清理和构建之前,我的构建文件夹并删除了文件。

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

答案 2 :(得分:3)

在集成Apptentive iOS SDK时,一些开发人员遇到了此问题。与其他第三方SDKS发生同样的错误会导致同样的问题。

Invalid Build Structure

The binary file 'YourApp.app/libApptentiveConnect.a' is not permitted.

Your app may contain only one executable file."

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

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

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

答案 3 :(得分:1)

我把我的NSBundle.m放在了Copy bundle资源中 - 不要这样做:(

答案 4 :(得分:0)

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

答案 5 :(得分:0)

看屏幕截图,这是xcode的右侧,它表示"文本编码",我的4个头文件和目标C文件,其中称为"常规文本文件&#34 ;而不是" Unicode(UTF-8),他们是怎么做到的,我不知道,但xCode决定将它们变成二进制文件" .o"文件,甚至将它们放在png进入存档项目的位置。

enter image description here

答案 6 :(得分:-2)

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