CFBundleIdentifier碰撞

我正在更新我的应用程序。 我添加了一个Watch扩展,在尝试提交二进制文件时,我有很多关于configurationconfiguration文件等的错误。 但是,我设法让它工作并提交我的更新。 今天我因为一些小问题而被拒绝了。 我很快改变了它,现在我正在尝试从几个小时重新提交,但现在我得到这个错误:

CFBundleIdentifier Collision - The Info.plist CFBundleIdentifier value 'com.mentalfaculty.Ensembles' of 'MyAppName.app/Ensembles.bundle' is already in use by another application. 

我真的不明白什么是错的。 事情是,我只是修了一个很小的东西,除此之外,我没有任何改变,我使用了相同的configuration文件,因为前几天我可以提交,所以我真的不知道什么改变了我的问题最后提交。 我也不明白这个错误信息:什么其他的应用程序?

“合奏”是Core Data iCloud Sync的一个框架。 我使用它,因为之前的两个应用程序版本,并没有改变的东西。 我只是按照安装说明进行操作,我不得不将这个Ensembles项目集成到我自己的项目中。 所以这个框架是我的项目中的一个项目。 它有它自己的info.plist。 很明显,这个错误与它有关,但是由于我不是这方面的专家,所以我害怕改变一些东西。

那么为什么我能够提交两个工作和批准的更新,能够提交一个更新的二进制文件(被拒绝),现在得到这个错误,虽然我真的没有改变任何东西,做了相同的步骤,当我能够提交前几天?

将非常感谢这里的任何帮助!

谢谢 !

我是Ensembles的开发人员,几天前开始听到这个错误。 看起来苹果服务器上的某些东西已经发生了变化,甚至像Ensembles.bundle这样的资源包也必须具有唯一的标识符。 目前还不清楚这是一个新的政策,还是在他们的服务器上过分热心的脚本。

在任何情况下,解决scheme都相当简单:您可以进入Ensembles.bundle并将包标识符更改为您自己的唯一标识符。 例如。 com.mycompany.ensembles.bundle

更新苹果似乎已经解决了这个问题的服务器端。

再次感谢Drew的帮助,已经帮助我在另一个线程在这里另一个合奏相关的问题! 你的框架非常好,很容易实现,它把盒子里的所有iCloud整合都消除了。 如果你想看到你的工作,检查我的个人资料,有一个链接到我的应用程序。 提到你的工作,当然在它的设置捆绑。

昨晚我完成了这个工作,改变了Ensembles框架中的Bundle Identifier。 之后,iTunes Connect接受了我的内置。 我只是害怕改变那里的东西,搞砸了,但至less从我在我的设备上的testing,似乎仍然像以前一样工作…奇怪,因为我上传了一个build立10天前,而不需要改变捆绑标识符,所以苹果公司最近肯定已经改变了一些东西。

所以对于有这个问题的其他人,我做了什么:

 Ensembles iOS.xcodeproj - Ensembles Ressources iOS - Ensembles Ressources iOS-ibfo.plist 

我从中更改了Bundle标识符

 com.mentalfaculty.${PRODUCT_NAME:rfc1034identifier} 

 com.mentalfaculty.MyCompanyName.${PRODUCT_NAME:rfc1034identifier} 

谢谢 !