Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

isiOSAppOnMac vs. isMacCatalystApp?

I have an app that runs on target "My Mac (Designed for iPad)" and also presets in the Mac App Store as an iPad app. This requires Apple Silicon, also, so... it's not catalyst? Does it have a name? How is catalyst different in implementation? Does Catalyst require switching from UIKit to AppKit?

I see there are two flags here:

extension ProcessInfo {
    @available(iOS 13.0, *)
    open var isMacCatalystApp: Bool { get }

    @available(iOS 14.0, *)
    open var isiOSAppOnMac: Bool { get }
}
like image 572
Dan Rosenstark Avatar asked Oct 14 '25 03:10

Dan Rosenstark


1 Answers

Your "Mac (Designed for iPad)" app is just an iPad app. Apple Silicon Macs can run iPad apps as-is. The app looks and works just like it does on the iPad. Such an app requires no additional work but it also does not take any advantage of any macOS features nor does it have the exact same look-and-feel of a native macOS app.

A "Mac (Mac Catalyst)" app is still written (mostly) in UIKit but it allows your app to run on Intel and Apple Silicon Macs. It starts out as your same iPad app. But you now have the ability to make it look and work a bit more like a native macOS app. It can make use of some AppKit APIs (only those specifically indicated as supporting Mac Catalyst). You need to specifically build and submit the macOS version of your iOS app. Even though you post two separate builds, they are part of the same app and share the same setup such as in-app purchases.

isiOSAppOnMac only returns true when your "Designed for iPad" iOS app is running on an Apple Silicon Mac.

isMacCatalystApp returns true if your "Designed for iPad" iOS app is running on an Apple Silicon Mac or when your "Mac Catalyst" iOS app is running on any Mac.

See Mac Catalyst in the documentation for complete details.

like image 66
HangarRash Avatar answered Oct 18 '25 04:10

HangarRash



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!