更新 XCode版本: 8.2 iOS目标:9
希望有人能向我指出,这不是一个bug。非常简单,我提取了最新的稳定版本的researckKit,并将.xcodeproj文件放到我的新iOS项目中,添加了嵌入式二进制文件。我创建了几个在模拟器中看起来很好的步骤。我的应用程序构建得很好,甚至档案也可以验证。上传到应用程序商店很好,但是我收到了来自应用程序商店的电子邮件,其中有6个条目看起来都差不多,对于ReserachKit框架内的6个不同的ReserachKit文件:
意外的包密钥-- 'my_app.app/ResearchKit/ResearchKit/Info.plist‘上的包不包含包可执行文件。如果这个包有意不包含可执行文件,请考虑将CFBundleExecutable键从其Info.plist中移除,并使用BNDL的CFBundlePackageType。如果这个包是第三方框架的一部分,考虑联系框架的开发人员进行更新以解决这个问题。
我发现了一个相当大的关于堆栈溢出的几个答案,许多人都同意执行错误消息中的建议:从.plist文件中删除CFBundleExecutable键。我尝试过这样做,但是我的存档甚至不会用以下错误进行验证:
iTunes存储操作失败。无效的捆绑结构-不允许二进制文件'my_app.app/Frameworks/ResearchKit.framework/ResearchKit‘。除了支持的包的CFBundleExecutable之外,应用程序不能包含独立的可执行文件或库。有关https://developer.apple.com/go/?id=bundle-structure应用程序包结构的信息,请参阅https://developer.apple.com/go/?id=bundle-structure的Bundle编程指南。
**更新**
当然,我为这个项目从github中提取了一个新版本的ResearchKit框架。因此,我只是尝试了一个版本的ResearchKit,从另一个Xcode项目,我已经成功地部署到应用程序商店,我想,如果它对该应用程序,它应该通过这个应用程序。但是,Alas,我从App收到了关于意外的CFBundleExecutable密钥的同样的电子邮件错误。
同样,这是一个苹果支持的免费框架。在我遵循的github页面上,有关于如何使用它的简单说明。我以前使用过它,最近用这个框架提交了一个应用程序,它没有任何问题,目前正在测试试飞Beta测试中。我也是在GitHub项目页面上提交了一个问题。
发布于 2017-04-04 15:30:07
我联系了苹果的技术支持部门,他们帮我解决了这个问题。就像我之前所怀疑的那样,没有必要以任何方式修改ResearchKit框架才能使其正常工作。
对我来说,问题在于我正在将整个源代码、测试用例、Xcode项目和ResearchKit的其余部分复制到应用程序中。
我一定是很早就做了这件事,但我并没有意识到。对我有帮助的是转到构建阶段选项卡在XCode中,并查看不同的部分。我的错误是,我将researchkit框架包含在以下部分:链接、二进制和LIbraries以及复制捆绑资源。我得把那些拿掉。
通过将xcodeproj文件拖到项目并嵌入二进制文件而得到的正确配置,只需将在线添加到目标依赖项和Embed 节中构建阶段中即可。
下面是我修改过的配置的屏幕截图:

发布于 2017-04-01 10:54:19
我像你一样遇到了这个问题,我解决了这个问题:
https://stackoverflow.com/questions/42973992
复制相似问题