In a modularized application that uses multiple nested frameworks, when trying to publish the app to TestFlight, if we get the error stating ERROR ITMS-90685: "CFBundleIdentifier Collision. There is more than one bundle with the CFBundleIdentifier value com.example.project under the application Project.app"
means some framework has embedded another framework which the main app is also embedding. The fix here is to go to the all other frameworks and choose not to embed any frameworks and only Embed & Sign
in the main app.
With an example, let's say I have AZData.framework
and AZCommon.framework
. I need the AZCommon.framework
in AZData.framework
and I need it in the main app also. If I embed AZCommon.framework
in the AZData.framework
it results in duplicate framework. In this case we can include the common framework in the data framework but not embed and only embed these two frameworks in the main app. This should fix the issue.