This application's bundle identifier does not match its code signing identifier

  1. Go into Building Phases
  2. Click the + sing and add script in New Run Script Phase
  3. Add /usr/local/bin/carthage copy-frameworks to the script box.
  4. In Input Files add a line for each Carthage framework you're using in your app: $(SRCROOT)/Carthage/Build/iOS/FrameworkName.framework
  5. If you're still having problems, also add this under Output Files for each framework: $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/FrameworkName.framework

This process fixed it for me. It can be found under Carthage documentation. You can see this process here in items 4, 5, 6. https://github.com/Carthage/Carthage#adding-frameworks-to-an-application


In the end the error was caused by Carthage.

After removing and rebuilding all frameworks it fixed the problem.


To fix this, I had to set framework's Product Bundle Identifier to anything with a dot.

In my case it was because of framework, not Carthage's, but the one as target dependency in Workspace.

Before the fix Product Bundle Identifier was something like "FrameworkName", andXcode would automatically append some autogenerated ID, and Signing Identifier would become "FrameworkName-5555494493d11a8e5f473d1cb2a5d781973d171e".

When I set Product Bundle Identifier to something with dot, like "com.organization.frameworkName", Xcode stopped to auto-append anything, and everything works because ids match.

It seems that it wasn't an issue before Xcode 11 and Catalina. This debug was crazy.