Wednesday, February 5, 2020

Universal Purchase


Starting in March 2020, you’ll be able to distribute iOS, iPadOS, macOS, and tvOS versions of your app as a universal purchase, allowing customers to enjoy your app and in‑app purchases across platforms by purchasing only once. You can choose to create a new app for these platforms using a single app record in App Store Connect or add platforms to your existing app record.


Xcode 11.4 supports building and distributing macOS apps as a universal purchase. To distribute your macOS app as a universal purchase, specify the same bundle identifier as your iOS app in the Xcode template assistant when creating a new project. If you have an existing project, edit its bundle identifier in the Project Editor.

Universal purchase is enabled by default for new Mac Catalyst apps created in Xcode 11.4. When you create a new Mac Catalyst app, it will use the same bundle identifier as your iOS app.

It’s great to have the option for universal purchases, but tying it to the bundle identifier seems problematic. What if you’ve already shipped an app for multiple platforms? Apple doesn’t let you change the bundle identifier. Do you have to abandon the old app (losing its links and ratings and migrating its files and AppleScripts) or maintain two separate apps?

From the business side, it’s a great user experience for customers who want to pay once and get everything. But what about customers who only want the iPhone version and may not even own a Mac or Apple TV? They have to pay the same price? And, for developers, this is likely to further devalue software. Get all the versions for one low price, with Apple implying that it didn’t take much extra effort.

Steve Troughton-Smith:

if Apple was actually planning shared purchase this year then you’d think they would have launched it alongside Catalyst instead of making us go through all that now for dead-end bundle IDs and store records

Joe Cieplinski:

Universal purchases for Mac/iOS is yet another reason to go subscription.If you don’t offer universal, people will lob crap at you. If you go subscription, they will too. Might as well take the option that makes more money.


Update (2020-02-06): Craig Hockenberry:

Before you change a bundle ID for a macOS app, make sure you understand the implications. If you’re never heard of lsregister, you don’t understand the implications.

Then you need to think about receipts and app ID prefixes: @robotspacer asks some good questions - and without answers, I would not go anywhere near this feature.

Business-wise, I feel like it’s going to be as good for the Mac as Universal apps were for the iPad.

More platform-specific work for less overall revenue, and ultimately a bad move for all involved (especially customers).

Update (2020-02-07): Craig Hockenberry:

One hidden surprise with Universal macOS and iOS apps: you can no longer use the exact same name for different SKUs. Names have to be unique across all platforms.

Use this trick if needed: instead of U+002D for a dash, use something like U+2013, which is visually similar.

Update (2020-02-14): See also: Reddit.

Update (2020-04-17): Jeff Johnson:

It appears that the purpose of Universal Purchase was to encourage developers who didn’t yet have a Mac version of their app to produce one (also the purpose of the Catalyst technology in Catalina). But for developers and customers of apps that already had both Mac and iOS versions, Universal Purchase is an incredibly bad deal. It feels like a betrayal from Apple, because developers who have been “loyal” and did the “right thing” from the beginning, who made native AppKit and UIKit apps, are punished, while developers who never bothered to make a Mac app are rewarded.

Update (2021-07-14): Drew McCormack:

Seems that for Universal Purchase apps, reviews written on iOS/iPadOS are merged, but macOS is separate. Ie. The iOS App Store shows different reviews to the MAS. Is that right? This would be a big barrier to going Universal for us: going back to 0 reviews on one platform.

Comments RSS · Twitter

Leave a Comment