无效的捆绑包。捆绑在' .app'不包含可执行文件

时间:2015-10-27 13:41:13

标签: ios xcode xcode7

我正在尝试验证/提交我的应用,它给了我这个错误。我尝试了之前对这个问题的回复中提到的所有可能的建议,但都没有奏效。

我删除了CFBundleKey,还在info.plist中将CFBundlePackageType键的值从APPL更改为BNDL。

我也附上了截图。

请为此提供一个解决方案,非常感谢,因为我被困住了。

我的应用程序的包标识符有一个数值,是否会导致问题?

enter image description here

4 个答案:

答案 0 :(得分:1)

与info.plist文件的连接可能导致此问题。尝试从目标更改bundle id并检查它是否反映在plist文件中,反之亦然。如果这不反映将plist文件复制到其他位置,请将其从应用程序中删除并再次拖放,这将有所帮助。这解决了我的问题,希望它有所帮助。

感谢您的努力。

答案 1 :(得分:1)

如果您收到此错误,请检查您的info.plist文件,

<key>CFBundleExecutable</key>
    <string>${EXECUTABLE_NAME}</string>

并添加此密钥。

答案 2 :(得分:1)

您应该输入general以查找嵌入式二进制文件,并删除您的框架。

答案 3 :(得分:-1)

对于来自Google的未来人:

我最近遇到了这个问题(向我们分发了第三方静态库+捆绑软件),并尽了一切努力,最终屈服了,并能够获得Apple开发人员的支持。事实证明,捆绑软件的创建者将Info.plist放在错误的位置。引用苹果公司知识渊博,乐于助人的人:

  

Info.plist必须位于包的根目录,而不是   资源文件夹。由于未在预期位置找到Info.plist   位置描述对捆绑包的期望,然后继续   查找可执行代码,因为iOS支持的捆绑类型为APPL,   FMWK和XPC都应具有捆绑包可执行文件。

  

将Info.plist文件移动到正确的位置是您的短期选择   解决方法,但您还应该考虑消除捆绑软件   完全是长期的。如果您在中打开新项目窗口   Xcode,您会看到一个用于提供通用目的的模板   捆绑软件仅在macOS部分可用,而在iOS上不可用。 Xcode   从来没有iOS的通用捆绑包起点,所以大多数   开发人员手工制作的套装接近预期   iOS的结构超出了macOS的基础,但不完全符合   整个系统的期望,导致各种意外   诸如此类的问题。如果您的捆绑商品内容与   框架,您可以直接将内容嵌入框架   包,如果是用于应用程序,则可以直接部署内容   进入主要的.app捆绑包。

  

捆绑在iOS上不存在,特别是在BNDL的意义上。他们是一个   macOS概念旨在包含插件的可加载代码,   在iOS上不存在,而该部分记录在   以下位置:   https://developer.apple.com/library/archive/documentation/CoreFoundation/Conceptual/CFBundles/BundleTypes/BundleTypes.html#//apple_ref/doc/uid/10000123i-CH101-SW30

     

在iOS上使用BNDL作为资源容器,而无需加载代码   是开发人员社区中发展的一种约定。他们的方式   如您的应用程序中的多个捆绑包所示,它们用于iOS   有效地用作组织的带有精美文件名的文件夹   原因。使用不带.bundle文件扩展名的文件夹   具有相同的组织目标,同时也避免陷入困境   在验证过程中尝试确定是否发现了什么   是应用程序,框架或应用程序扩展包。

因此,结论是:避免在iOS中使用捆绑软件。您最终可能会冒险通过有时不透明的Apple验证程序,而几乎看不到收益。