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

时间:2013-11-27 19:20:53

标签: ios xcode app-store itunesconnect ios-provisioning

This question是相似的,如果不相同但没有解决方案。我查看了存档内部,只有一个可执行文件,所以我不知道如何继续。任何想法都非常赞赏。

enter image description here

enter image description here

7 个答案:

答案 0 :(得分:18)

  

无效的构建结构

     

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

     

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

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

您应该通过链接二进制文件与库构建阶段链接libYourLibrary.a静态库。

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

答案 1 :(得分:13)

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

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

答案 2 :(得分:6)

事后看来,错误很简单。可执行文件被意外添加到项目中。在我的情况下,“Develop!.app/Xcode”意味着Xcode是可执行文件。检查项目中的文件列表,我找到了Xcode的符号链接。 (也许我以某种方式将它从码头拖出来并将其放入项目中。)

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

答案 3 :(得分:2)

我第一次在我提交的多个版本的应用程序上遇到了这个问题。

我发现虽然我已经链接到我自己的一个库,但是同一个库中的一个源文件出现在“Copy Bundle Resources”列表中的文件列表中。我不知道它是如何实现的,但删除它意味着我的应用程序构建,存档并成功提交。 : - )

答案 4 :(得分:2)

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

构建阶段>复制捆绑资源>检查你的文件AnyFileName.swift也会在这里添加。 (删除它)

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

答案 5 :(得分:0)

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

对于需要详细说明的人员,请在下面进行检查:

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

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

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

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

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

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

答案 6 :(得分:0)

最终对我有用的是清除我的Cocoa Pods缓存并重新安装所有Pod

rm -rf ~/Library/Caches/CocoaPods Pods ~/Library/Developer/Xcode/DerivedData/*

pod deintegrate

pod setup

pod install