CFBundleIdentifier Collision

2.8k views Asked by At

I am doing an Update to my app. I added a Watch Extension and I had many errors regarding provisioning profiles and so on when trying to submit the binary. However, I somehow managed to get it to work and submitted my update. Today I was rejected because of some small issue. I quickly changed it and now I am trying since hours to resubmit, but now I am getting this error:

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

I don t really understand what is wrong. The thing is, I did just fixed a really small thing, besides this I didn t change anything, I used same provisioning profiles since some days ago when I was able to submit, so I really don t get the problem what has changed from my last submission. I also don t understand this error message: what other application?

"Ensembles" is a framework that does Core Data iCloud Sync. I am using it since two App versions before and never changed something. I just followed the install instructions, and I had to integrate that Ensembles project in my own project. So this framework is kinda a project within my project. It has it s own info.plist. Obviously that error has something to do with it, but since I am not really an expert in these things, I m afraid to change something.

So why was I able to submit two working and approved updates, was able to submit one update binary (that was rejected) and now getting this error all the time although I really didn t change anything and did the same steps when I was able to submit some days ago?

Would be really thankful for any help here !

Thanks !

2

There are 2 answers

1
Drew McCormack On BEST ANSWER

I am the developer of Ensembles, and started hearing of this error a few days ago. It seems something has changed on Apple's servers, and even bundles that are just Resources, like Ensembles.bundle, must have a unique identifier. It is not clear if this is a new policy, or an overzealous script on their server.

In any case, the solution is reasonably straightforward: you can just go into Ensembles.bundle and change the bundle identifier to something unique of your own. Eg. com.mycompany.ensembles.bundle

Update Apple seem to have resolved this issue server side.

0
Kreuzberg On

Thanks Drew for your help again, already helped me with another Ensembles related question in another thread here! Your framework is really great, so easy to implement and it takes away all that iCloud integration pain right out the box. If you want to see your work in action, check my profile, there is a link to my app. Mentioned your work of course in its settings bundle.

Last night I ended up doing exactly that, changing the Bundle Identifier in the Ensembles framework. After that iTunes Connect accepted my built. I was just afraid of changing something there and screw all up, but at least from my tests on my devices, it still seems to work like before... Strange because I uploaded a built just 10 days ago without the need of changing the Bundle Identifier, so Apple must have changed something really recently.

So for others having that problem, what I did:

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

I changed the Bundle identifier from

com.mentalfaculty.${PRODUCT_NAME:rfc1034identifier}

to

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

Thanks !