Search code examples
iosswiftxcodeapple-developerxcframework

Asset validation failed: CFBundleIdentifier Collision


I am developing an SDK, in which I have embedded the below frameworks in my SDK.

AWSAuthCore.framework
AWSCognitoIdentityProvider.framework
AWSCognitoIdentityProviderASF.framework
AWSCore.framework
AWSIoT.framework
AWSMobileClient.framework

When I embed my SDK in a main app, everything works fine. But when I try to archive and distribute the app, I get the validation errors below. eg:

Asset validation failed
CFBundleldentifier Collision. There is more than one bundle with the CFBundleldentifier value /com.amazonaws.sdk.ios.AWSIoT, under the iOS apolication 'yodda-seed.app'. (ID: 7632d87c-9208-4739-be48-95e0f421cebe)

enter image description here

I have attached the image for reference. could anyone help me fix this? I really appreciate any help you can provide.

enter image description here enter image description here

I tried removing and re-adding the framework, cleaning the building, and deleting derived data, but still facing the issue.


Solution

  • I think that your issue is related to the "Embed" strategy. You have correctly linked the external frameworks to your app, but you are also embedding them into the .app product.

    Try to change all the AWS* frameworks as "Do Not Embed": here is an example in a real project