CFBundleIdentifier 冲突

CFBundleIdentifier Collision

我正在更新我的应用程序。我添加了一个 Watch Extension,但在尝试提交二进制文件时,我遇到了很多有关配置文件等的错误。但是,我以某种方式设法让它工作并提交了我的更新。今天我因为一些小问题被拒绝了。我很快更改了它,现在我尝试从几个小时开始重新提交,但现在我收到此错误:

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

不太明白哪里不对。问题是,我只是修复了一个非常小的问题,除此之外我没有做任何更改,自从几天前我能够提交以来我使用了相同的配置文件,所以我真的不明白我的问题发生了什么变化最后提交。我也不明白这个错误信息:还有什么应用程序?

"Ensembles" 是一个做 Core Data iCloud Sync 的框架。我从之前的两个应用程序版本开始使用它,并且从未改变过任何东西。我只是按照安装说明进行操作,并且必须将该 Ensembles 项目集成到我自己的项目中。所以这个框架有点像我项目中的一个项目。它有自己的 info.plist。显然那个错误与它有关,但由于我不是这些事情的真正专家,我害怕改变一些东西。

那么为什么我能够提交两个工作和批准的更新,能够提交一个更新二进制文件(被拒绝)并且现在一直出现这个错误,尽管我真的没有改变任何东西并做了相同的步骤我几天前什么时候可以提交?

非常感谢您的帮助!

谢谢!

我是 Ensembles 的开发者,几天前开始听说这个错误。 Apple 的服务器似乎发生了一些变化,甚至只是资源的捆绑包,如 Ensembles.bundle,也必须具有唯一标识符。目前尚不清楚这是一项新政策,还是他们服务器上的一个过度热心的脚本。

无论如何,解决方案相当简单:您只需进入 Ensembles.bundle 并将包标识符更改为您自己的唯一标识符即可。例如。 com.mycompany.ensembles.bundle

更新 Apple 似乎已经在服务器端解决了这个问题。

再次感谢 Drew 的帮助,已经在此处的另一个线程中帮助我解决了另一个与 Ensembles 相关的问题!你的框架真的很棒,很容易实现,它开箱即用地消除了所有 iCloud 集成的痛苦。如果您想查看您的作品,请查看我的个人资料,我的应用程序有一个 link。当然在其设置包中提到了您的工作。

昨晚我最终就是这样做的,更改了 Ensembles 框架中的 Bundle Identifier。之后 iTunes Connect 接受了我的构建。我只是害怕在那里改变一些东西然后搞砸了,但至少从我在我的设备上的测试来看,它似乎仍然像以前一样工作......奇怪因为我在 10 天前上传了一个构建而无需更改捆绑包标识符,所以 Apple 最近一定真的改变了一些东西。

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

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

我从

更改了 Bundle 标识符
com.mentalfaculty.${PRODUCT_NAME:rfc1034identifier}

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

谢谢!