2014-09-10 103 views
1

Apple iTunes提交错误:由于以下错误,此时无法处理应用程序:bundle'xyz.app'缺少可执行程序包。Apple iTunes Connect应用程序提交错误

证书和档案:经过

enter image description here

+0

这是来自Apple的新东西(耶!)我在提交以前成功提交的二进制文件时出现此错误。也就是说,2014年8月28日验证无误的二进制文件现在在2014年9月10日发生此错误。 – 2014-09-10 19:38:50

+0

它接近苹果正在更新其系统。我使用最新的Xcode版本上传构建和BANNG .. submited成功。 – JDev 2014-09-12 06:40:32

回答

0

检查你正在为arm64 armv7 armv7s

+0

@感谢Hannes,是的,那时我正在为arm64,armv7和armv7s构建。我想这可能是苹果服务器的问题。 – JDev 2014-09-12 06:43:31

2

这是可能发生的,由于采用了“假框架”的(无论是从一个https://github.com/kstenerud/iOS-Universal-Framework或此设计的变体)。一些图书馆和软件包将他们的资源作为一个“框架”捆绑在一起,以便为主机项目包含标题,笔尖,图像和可本地化的字符串。但是,这些框架实际上是一个突变包,并且不符合苹果现在实施的定义/结构,因为他们已经添加了Cocoa Touch Frameworks。

一些解决方案:

  • 拆分“假框架”到一个单独的。一个二进制文件,资源包和套头。我建议使用Cocoapods打包它们,以便任何试图合并库/包/头文件的人都不必在多个步骤中处理手动包含。您仍然可以将多个.a文件放在一起,这些文件针对设备/模拟器的体系结构来创建通用二进制文件,所有文件都可以正常工作。
  • 切换到使用Cocoa Touch Framework(尽管这些似乎只适用于部署目标8.0),并将二进制文件嵌入到应用程序中。如果你走这条路,你还需要为你的资源制作一个单独的包,因为你的框架现在包含一个二进制文件(因此,将它作为“资源”包添加会导致你的应用中有多个二进制文件当你打包它,它会从应用商店被拒绝)。有关创建iOS资源包的一些信息,请参阅此处:http://jaym2503.blogspot.ro/2014/03/how-to-create-resource-bundle-in-ios.html。这种方法还存在一些其他的细微差别和问题(例如,如果您将框架中的模拟器/设备二进制文件放在一起,然后嵌入框架,则会因为嵌入二进制文件而被拒绝,该二进制嵌入文件包含模拟器)。不幸的是,截至目前,苹果没有太多关于如何使用这些框架的文档,所以这是一条孤独的道路。

我个人推荐Cocoapod路线。

相关问题