Notarizing an app may fail with the error message:
Error: ERROR ITMS-4302: "The software asset has an invalid primary bundle identifier: '...'" at ...
The issue is that the bundle identifier may have invalid characters. Check your bundle identifier for
- anything else besides letters, numbers, hyphens, and periods
Notably check for leading or trailing spaces – open the bundle’s
Info.plist file using a text editor and see the value of
CFBundleIdentifier whether there are any leading or trailing spaces. Be sure to check the final version in the bundle that you are about to notarize. It may happen that a poorly programmed custom build script inadvertently inserted a space there.
A bundle identifier will globally identify the bundle. Apple expects it to be in a reverse DNS format – hence ideally it starts with the domain that you already have control of to ensure its uniqueness. For example, only name a bundle
com.example.suite.app only if you’ve bought the
example.com domain name.
Furthermore if your app bundle contains app extensions, all extensions contained must be prefixed with the containing app’s bundle identifier. For an app with the bundle identifier
com.example.office-suite.documents, it’s share extension would be named something like
Read more on bundle identifiers from Xcode’s manual pages..