验证错误:捆绑包含不允许的文件"框架"

Aar*_*egh 15 validation xcode itunesconnect objective-c ios

我和这个家伙有同样的问题,这个家伙这个家伙(nota bene,我实际上不确定他们是不是所有人,本身).

他们最终找到了自己的解决方案,但没有一个适用于我的问题.我在iOS 8应用程序中使用Xcode 6.1,附带扩展名.应用程序和扩展程序都依赖于包含的框架.当我尝试将应用程序提交到商店时,我得到的验证警告是"ERROR ITMS-9000: Invalid bundle. The bundle at 'xxxxx.appex' contains disallowed file 'Frameworks'".

我甚至找不到一个名为Frameworks的文件.共享框架应该保存在/ Library/Frameworks,这是Apple推荐的保存位置.该项目还使用Cocoapods,这使我成为唯一的其他可能的罪魁祸首,因为它在其配置文件中引用$ FRAMEWORK_PATH(尽管build文件夹不包含具有该名称的文件或文件夹).

Rob*_*ers 10

好的,未来的观众可以在这里修复:

当您构建自己的iOS框架(我正在使用Xcode 6.1)时,最终产品在框架包本身中包含一个"Frameworks"文件夹.即MyFramework.framework/Frameworks.即使您未指定复制文件/嵌入框架构建阶段,也会发生这种情况.

你要做的是进入你的框架包,找到空框架文件夹并删除它.这不应以任何方式影响您应用的功能.然后构建您的应用程序并检查嵌入式框架是否按计划没有Frameworks文件夹.

您的存档现在不应包含违规文件夹,错误应该消失!


Aar*_*egh 2

继续处理此问题,我注意到我的共享扩展有一个“嵌入框架”构建阶段,目标设置为“框架”目录。我将其更改为“共享框架”并且错误消失了。

但是,仍然存在另一个错误:“...包含不允许的嵌套包”。我认为这是原始错误警告的一种结果。我将为这个问题提出另一个问题。