ERROR ITMS-90685: "CFBundleIdentifier Collision. There is more than one bundle"
It happens if your HostApp embeds a framework which has been also embedded in some of the frameworks which are also being embedded in HostApp. For example,
- Thus, Framework
F2will be duplicated in bundle after IPA generated
Only HostApp but no other frameworks should embed any dependent frameworks in their respective Build Phase. So,
- Go to Build Phase tab for
Embed Frameworksstep, or remove full step
- Go to General tab for
- Select Frameworks, Libraries and Embedded Content
Do Not Embedoption for
Have a clean build.
Sometimes this doesn't have anything to do with App Extensions, in an app without any App Extension this can be originated because you're duplicating a framework inside the generated IPA.
In my case the issue was I was importing a framework A that contained other two frameworks B & C, all in the same workspace. In the app I was importing A, B, C but in the framework A the frameworks B & C were embedded with the Embed & sign and that's incorrect and it was causing the issue. It should have been added with the Do not embed.