My iOS version of the app is available on the App Store with a non-team ID prefix for its bundle ID. It has been available there for a long time and I am not sure why I chose a custom prefix for it.
The Mac version of the same app is available on the Mac App Store with a different bundle ID and with a prefix that matches my team ID.
I am currently looking to "merge" both apps into a single bundle ID. The plan is to stop using the current Mac app and release a new one as a universal app under the existing bundle ID for the iOS app.
Unfortunately, it looks like that the Mac App Store does not actually allow any submissions that have a non-team ID for a prefix.
I know that it is a very specific case but any suggestions would be welcomed.
Just so we’re clear about terminology:
- A bundle ID is how the system uniquely identifies your app. It’s typically in reverse DNS format, for example,
com.apple.iWork.Pages
. - An App ID is composed of an App ID prefix and a bundle ID. For example,
74J34U3R6X.com.apple.iWork.Pages
. - The App ID prefix is typically your Team ID, but iOS used to encourage unique App ID prefixes, where you allocate a prefix that’s different from your Team ID.
Unique App ID prefixes are a legacy feature. We generally recommend that folks move to using their Team ID as the App ID prefix. This enables important features, for example, shared keychain access groups.
Unique App ID prefixes were a legacy feature before the App Store landed on the Mac. Given that, they’ve never been supported on the Mac. And, while I can’t predict The Future™, it seems unlikely that we’d add support for this legacy feature to the Mac.
My general advice for folks in your situation is to convert your iOS app to using its Team ID as its App ID prefix.
IMPORTANT Doing this can have negative consequences. The primary one relates to keychain access groups. I talk about that in depth in App ID Prefix Change and Keychain Access. Fortunately, you’re not transferring your app between teams, so there’s a reasonable path forward in your case.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"