Compatibility
For your app to be available in the Mac App Store, it must be compatible with the Mac:
Your app can’t be dependent on an unavailable symbols or frameworks
It can’t be dependent on missing functionality in existing frameworks
It can’t be dependent on hardware capabilities that don’t exist on the Mac
Availability
All iOS/iPadOS apps are automatically available in the Mac app store
You can opt out in App Store Connect
Environment differences
Hardware differences
Mouse and touch events: the system automatically maps standard gestures, however you should test if your custom interactions and gestures work on Mac
Environment sensors: make sure to check for the availability of each sensor in your app
Camera: to discover all available cameras (you can plug external cameras on the mac) use
AVCaptureDeviceDiscoverySession
UI differences
Popups might be displayed in different places in macOS
Open and Save panels will show in separate window
If your iPad app already supports multitasking on iOS, it will be fully resizeable on macOS. (if not, your app will be displayed in a fixed-size window)
System Software differences
Filesytem: On macOS the user can move the app wherever they would like. Your app’s data containers are also in a different location on the Mac. Use Foundation APIs to locate items in the filesystem.
Distribution
Beside the mac app store, you can also distribute your apps via ad-hoc and other methods as well
App thinning is supported
TestFlight is not supported on macOS
