【问题标题】:The bundle at 'my_app.app/ResearchKit/ResearchKit/Info.plist' does not contain a bundle executable'my_app.app/ResearchKit/ResearchKit/Info.plist' 的捆绑包不包含捆绑包可执行文件
【发布时间】:2017-08-15 21:16:07
【问题描述】:

更新 XCode 版本:8.2 iOS 目标:9

希望有人可以向我指出这不是错误。很简单,我提取了最新的稳定版本的 researckKit,并将 .xcodeproj 文件放入我的新 iOS 项目中,添加了嵌入式二进制文件。我创建了几个在模拟器中看起来不错的步骤。我的应用程序构建良好,甚至存档也验证正常。上传到应用商店很好,但随后我收到来自应用商店的电子邮件,其中 6 个条目看起来都差不多,对于 ReserachKit 框架内的 6 个不同的Info.plist 文件:

意外的 CFBundleExecutable Key - 位于 'my_app.app/ResearchKit/ResearchKit/Info.plist' 不包含 捆绑可执行文件。如果此捆绑包故意不包含 可执行文件,请考虑从其删除 CFBundleExecutable 键 Info.plist 并使用 BNDL 的 CFBundlePackageType。如果这个捆绑包是 第三方框架的一部分,考虑联系开发者 解决此问题的更新框架。

我找到了相当多的few answers on Stack Overflow,许多人同意按照错误消息中的建议进行操作:只需从 .plist 文件中删除 CFBundleExecutable Key。我试过了,但我的存档甚至无法验证,并出现以下错误:

iTunes Store 操作失败。无效的捆绑结构 - 二进制文件 文件“my_app.app/Frameworks/ResearchKit.framework/ResearchKit”不是 允许。您的应用不能包含独立的可执行文件或库, 除了受支持的捆绑包的 CFBundleExecutable 之外。请参阅 捆绑编程指南 https://developer.apple.com/go/?id=bundle-structure 获取有关信息 iOS 应用程序包结构。

** 更新 **

当然,我从 github 为这个项目提取了一个新版本的 ResearchKit 框架。因此,我只是尝试了最近在应用商店上成功部署的另一个 Xcode 项目的 ResearchKit 版本的副本,我认为它是否适用于该应用程序,它应该适用于该应用程序。但是,唉,我从 App Store 收到关于 Unexpected CFBundleExecutable Key 的相同电子邮件错误。

这又是一个苹果支持的免费框架。在我遵循的 github 页面上有关于如何使用它的简单说明。我之前用过,最近用这个框架提交了一个应用程序,没有问题,目前在Test Flight Beta测试中活跃。我也filed an issue on the GitHub project page

【问题讨论】:

    标签: ios xcode app-store-connect info.plist researchkit


    【解决方案1】:

    我遇到了和你一样的问题,我通过以下方式解决了它:

    • 删除 ResearchKit 中的可执行文件
    • 在 ResearchKit 中查找 info.plist,执行以下操作:
      删除 ResearchKit 中的 info.plist。 或者您可以在这个 info.plist 中添加 Bundle 版本、Bundle 标识符、Bundle 版本,它们应该与您自己的 info.plist 中的参数相同
    • 检查Target - Info - URL Types,检查是否有非法标识符

    【讨论】:

      【解决方案2】:

      我联系了 Apple 技术支持,他们帮助我解决了问题。就像我怀疑没有必要以任何方式更改 ResearchKit 框架以使其正常工作。

      对我来说,问题在于我将整个源代码、测试用例、Xcode 项目以及 ResearchKit 的其余部分复制到应用程序中。

      我一定是很早就这样做了,但没有意识到。对我有帮助的是转到 XCode 中的 Build Phases 选项卡并查看不同的部分。我的错误是我在以下部分中有研究工具包框架:Link Binary With LIbrariesCopy Bundle Resources。我需要删除那些。

      通过将 xcodeproj 文件拖到项目中并嵌入二进制文件获得的正确配置只会在线添加到 Target DependenciesEmbed frameworks 部分构建阶段

      这是我更正配置的屏幕截图:

      【讨论】:

        猜你喜欢
        • 2016-01-26
        • 1970-01-01
        • 2014-11-03
        • 2014-11-21
        • 1970-01-01
        • 2016-04-03
        • 1970-01-01
        • 2014-11-20
        • 2012-10-28
        相关资源
        最近更新 更多