Though Apple has worked for two years to streamline iOS and macOS development by enabling iOS apps to work on Macs, the process has always been intended as gradual, consisting of steps towards the ultimate goal. Today, Apple unexpectedly took one of its biggest steps with the debut of a “universal purchase” option for Mac apps developed with Xcode, allowing macOS and iOS apps to share a single bundle identifier number that lets one platform’s transaction register on both platforms.
Discovered by developer Steve Troughton-Smith, the universal purchase option is “enabled by default for new Mac Catalyst apps created in Xcode 11.4,” released today alongside iOS 11.4, iPadOS 11.4, macOS 10.15.4, and tvOS 11.4 betas. “When you create a new Mac Catalyst app, it will use the same bundle identifier as your iOS app,” Apple says, assuming the developer specifies the iOS app’s information in Xcode’s template assistant.
Catalyst is Apple’s cross-platform development framework, which was used internally by Apple under the code name Marzipan to develop select first-party apps for macOS 10.13 and iOS 12, then introduced to third-party developers for their use in macOS 10.14. Developers can develop a single code base that works across iOS, iPadOS, macOS, and tvOS devices, then create user interfaces optimized for small touchscreens, large touchscreens, or larger non-touchscreen displays with trackpads, mice, keyboards, and/or remotes.
The universal purchase feature appears to work only for newly created apps, though developers may well work around this by just republishing their prior Mac Catalyst apps using the iOS bundle identifier. “If you choose to build your Mac Catalyst app with a custom bundle identifier that does not match your iOS app,” Apple warns, “you will not be able to distribute the app as a universal purchase.”
Xcode 11.4 is available now for registered Apple developers through the company’s developer portal. In notes released subsequently to developers, Apple says that universal purchases will begin in March 2020, and will also support iPadOS and tvOS versions of apps. A handful of categories in the Mac and iOS App Stores will be tweaked to reconcile differences between the platforms, aiding in discovery — and potentially setting the stage for a single App Store across multiple platforms.