框架CFBundleIdentifier碰撞

时间:2015-08-13 14:20:57

标签: ios objective-c frameworks cfbundleidentifier

我使用Cocoa Touch Framework制作了一个自定义SDK(按照这些说明进行操作https://kodmunki.wordpress.com/2015/03/04/cocoa-touch-frameworks-for-ios8-remix/)。

使用此SDK的一个应用已经上传到应用商店,并由苹果审核,一切都很好。 现在我试图向App Store提交第二个应用程序。一切都在xCode上,它显示上传已成功完成,但上传后几分钟我收到一封信说:

  

CFBundleIdentifier Collision - Info.plist CFBundleIdentifier值   ' com.company.MySDK' of myApp.app/Frameworks/MySDK.framework'是   已被其他应用程序使用。

我不明白为什么苹果甚至会检查应用程序框架的bundleidentifier。看起来使用不同的捆绑包有很多类似的问题,但我还没有找到适用于此问题的修复程序。

非常感谢您的帮助,谢谢!

2 个答案:

答案 0 :(得分:2)

对我来说,这是由框架的.plist关键字 CFBundlePackageType 引起的,它使用默认值 APPL 但必须更改为 FMWK https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-111321)。

答案 1 :(得分:1)

如果您使用嵌套框架,请在常规选项卡中使用“请勿嵌入”-> 框架和库 例如: 您的项目使用框架A

框架 A 使用框架 B、C、...不要嵌入这些框架