答案 0 :(得分:18)
无效的构建结构
不允许使用二进制文件
'YourApp.app/libYourLibrary.a'
。您的应用只能包含一个可执行文件。
将静态库文件错误地复制到应用程序包中时会发生此错误。
您应该通过链接二进制文件与库构建阶段链接libYourLibrary.a
静态库。
不应添加到目标复制捆绑资源构建阶段。
答案 1 :(得分:13)
我的应用被拒绝,并显示相同的错误消息。事实证明,我正在复制第三方框架(Fiksu)复制捆绑资源'建设阶段。该框架包含一个可执行文件,并已链接到“Link Binary With Libraries'建设阶段。我从“复制捆绑资源”中删除了该框架。建设阶段。该框架在发布版本中继续正常工作。我重新提交了应用程序并通过了验证。类似的解决方案发布在这里:
答案 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