我遇到了与this guy,this guy和this guy相同的问题(注意,我实际上不确定它们是否全都是男人)。
他们最终都找到了自己的解决方案,但没有一个适用于我的问题。我在包含扩展程序的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文件夹不包含该名称的文件或文件夹)。
最佳答案
确定,以后的观众可以使用以下解决方法:
当您构建自己的iOS框架(我正在使用Xcode 6.1)时,最终产品在框架包本身中包含一个“Frameworks”文件夹。即MyFramework.framework/Frameworks。即使您没有指定复制文件/嵌入式框架的构建阶段,也会发生这种情况。
您要做的是进入框架 bundle 包,找到空的Frameworks文件夹并将其删除。这不会以任何方式影响您应用的功能。然后构建您的应用,并检查嵌入式框架是否没有按计划的“框架”文件夹。
您的归档文件现在不应包含有问题的文件夹,并且错误应该消失了!
关于ios - 验证错误: The bundle contains disallowed file 'Frameworks' ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27156816/