Hi there,
New to this forum. I have an iOS/iPadOS app already published in the App Store, and it works great as a Mac Catalyst app on my Mac. However when uploading to App Store Connect, I get the message:
Failed Registering Bundle Identifier
The app identifier "maccatalyst.nl.lai.prep-app" cannot be registered to your development team because it is not available. Change your bundle identifier to a unique string to try again.
So the organizer adds the maccatalyst in front of the Bundle Identifier automatically, but for some reason I get the message it's not available. I've already added the macOS App as a platform on App Store Connect. The Bundle ID (nl.lai.prep-app) is obviously registered as the app is already available on iOS/iPadOS and I have enabled 'Mac Catalyst' in my App id Configuration on the developer portal.
In Xcode macOS (Mac Catalyst) has been added as a destination.
I contacted developer support, but they couldn't see anything wrong 🤷♂️ and suggested I would ask the developer community on the developer forum for advice, so here I am.
Who has suggestions on what I should do?
Thanks for the post and welcome to the community!
This is something I saw long time ago when I was looking at how Mac Catalyst works and how the bundle id adds this prefix maccatalyst I think, but not positive as this is from memory. The issue you are running into may be caused by a conflict between how Mac Catalyst originally worked and how Apple handles bundle id registration today.
When Mac Catalyst was first introduced Xcode automatically prepended maccatalyst. to your existing iOS bundle ID.
However later changed allowing you to sell your iOS and Mac apps together under the exact same App Store Connect record.
Do you have the latest Xcode release? Is it happening there? I would upgrade to the latest Xcode, however if not you need to tell Xcode to stop generating that maccatalyst. prefix so your Mac app shares the exact same bundle ID as your iOS app.
Here is how to do that from this documentation: https://developer.apple.com/documentation/uikit/mac-catalyst
https://developer.apple.com/documentation/foundation/processinfo/ismaccatalystapp?language=objc
- Open your project in Xcode.
- Click on your project name at the top of the left-hand Project Navigator.
- Select your main app Target in the middle pane.
- Go to the Build Settings tab.
- In the search bar on the right side of the Build Settings tab, type:
Derive Mac Catalyst - You will see a setting named Derive Mac Catalyst Product Bundle Identifier.
- Change its value from Yes to No.
Go to the Signing & Capabilities tab for your target. You should now see that the Mac Catalyst bundle ID exactly matches your iOS bundle ID. Remember to Clean Build Folder to clear out any old cached build files.
Remember to always add your domain or a unique part of the bundle id. Also, please upgrade to the latest versions on every platform.
Hope I'm correct, but if you provide more information about Xcode Version, macOS etc... Other engineers working on the macOS version will be able to help better than me.
Also, my question is why not going to the macOS platform without catalyst? Otherwise this is my good video https://developer.apple.com/videos/play/wwdc2021/10052/
Albert Worldwide Developer Relations.