Questions tagged [mac-catalyst]

An environment and build target for compiling iOS apps to macOS.

Mac Catalyst (previously referred to as and, unofficially, Marzipan) is an environment and build target used to compile an iPadOS app to a macOS app. This is different from running iOS apps on macs with the M1 chip (Apple Silicon macs), which is a more recent development and the iOS apps can run directly on M1 macs without porting.

As of November 2019, it can only port iPad apps. It automates the addition of desktop and windowing features needed by the desktop version of macOS. For example, tab bars on the iPad are automatically converted to toolbar segments on the Mac.

Catalyst is officially supported by Xcode 11 and macOS 10.15 and higher. With Xcode 12, it can port iPhone apps to MacOS as well.

Apple documentation is available here.


Getting Started with Catalyst

Theoretically things should be as simple as checking the "Mac" target in your iPad-compatible app target. However, some extra work usually needs to be done in order to successfully port an app.

One good way to start differentiating your iPad code-base is through the use of a Catalyst compile-time check:

#if targetEnvironment(macCatalyst)
  // Code for catalyst
#endif
538 questions
5
votes
1 answer

Bug Check: CloudKit MacCatalyst didReceiveRemoteNotification

I am using MacCatalyst to port an iOS/iPadOS app to MacOS. The app uses CloudKit and functions in all ways except one: the UIApplicationDelegate method, didReceiveRemoteNotification, is not called on the MacOS version when a CloudKit update is…
NewEndian
  • 559
  • 2
  • 16
5
votes
3 answers

Can't convert iPad app to Mac App: Xcode couldn't find any Mac Catalyst App Development provisioning profiles matching 'maccatalyst.com...'

I'm trying to create a Mac Catalyst version of my iPad app. I checked the checkbox, I selected the "My Mac" scheme, I ran... and then, code signing errors (link below)! When I checked the checkbox, the Signing & Capabilties tab added a new macOS…
5
votes
4 answers

How to popup a document picker in ios and macos using catalyst

I'm trying to popup a document picker using mac catalyst, but all I get is a blank screen. All works well on ios 13.2.2 on iPad and iPhone, but not on macos 10.15.1 catalina. Does anyone knows how to popup a document picker in both ios and macos…
5
votes
5 answers

Can I disable the window resizing feature on my Mac Catalyst iOS app

I'm migrating my iOS app to support MacCatalyst but I'd like to prevent the window from being resized by the user. Do you have any tips for that?
marcelosalloum
  • 3,481
  • 4
  • 39
  • 63
4
votes
0 answers

Select one of multiple connected networks for outgoing requests in Mac Catalyst

I have a Mac-Catalyst application with an outgoing network call that I want to ensure is sent over a particular network, and thus not sent over any other possibly connected networks. Is there an Apple API to detect multiple connected networks and…
hgwhittle
  • 9,316
  • 6
  • 48
  • 60
4
votes
1 answer

Changing NSToolbarItem image size in Mac Catalyst

When adding custom NSToolbarItem using NSToolbarDelegate I can't set the image of the icons. The problem comes when using default ones (SplitView or Share), which have a different size: Here's the example code for two of the items, one is the share…
aramusss
  • 2,391
  • 20
  • 30
4
votes
0 answers

How can I make a window modal in a Catalyst app?

Is there any way to make a window run as modal in a Mac Catalyst app? I have tried everything I could think of, including: Detecting a window resigning key and calling makeKey on it again. Doesn't work. Changing the windowLevel of the window. No…
Manuel
  • 328
  • 1
  • 10
4
votes
1 answer

SwiftUI ColorPicker on macOS looks weird

My ColorPicker looks fine on iPad/iPhone, with colored circles, but on macOS, the color is a rectangle that almost fills the screen width, but isn't even consistent. Using Xcode 12.4, Swift 5, mac catalyst, iOS target is 14.0. Here is the…
David Mann
  • 91
  • 3
4
votes
1 answer

SwiftUI & Mac Catalyst: Sidebar is not displayed correctly

I enabled Mac Catalyst for an iPad App and encountered an strange Display Problem of the Sidebar. Code: @State private var selection: NavigationItem? = .start NavigationView { List(selection: $selection) { NavigationLink(destination:…
christophriepe
  • 1,157
  • 12
  • 47
4
votes
1 answer

How does a developer reset CLLocationManager authorization status for Mac Catalyst apps?

I would like to reset Location Permissions during development of a Mac Catalyst app. When working on iOS simulators, one only need "reset simulator." On an iOS device, it's possible to "Reset Location & Priacy" from the Settings app. I've looked in…
edelaney05
  • 6,822
  • 6
  • 41
  • 65
4
votes
0 answers

macCatalyst crash on UIScene in macOS 11 (Big Sur)

I have a macCatalyst app that works perfectly on macOS 10.14, however on upgrading to macOS 11 (Big Sur) both I and my users are complaining that the app crashes on launch. I get an error message "Parameter was not of class UIScene" - do macCatalyst…
renovator
  • 59
  • 2
4
votes
1 answer

How to add recent files with Mac-Catalyst

In default "File" menu, it has "Open Recent >" Menu Item and it is added automatically. Currently, If user open associated file from Finder, This recent items are added automatically (on Big Sur). But If user open from my App using…
shuna
  • 307
  • 1
  • 7
4
votes
2 answers

Mac Catalyst build fails with "building for Mac Catalyst-x86_64 but attempting to link with file built for Mac Catalyst-arm64"

After updating to Xcode 12.2, my project started failing to compile because of Apple Silicon-related linking errors. I seem to have most of them fixed, but one sub-project that builds a statically-linked framework is giving me problems. And yet a…
Oscar
  • 2,039
  • 2
  • 29
  • 39
4
votes
2 answers

Broken Developer Certificates and Profiles

I am extremely worried about my certificates/profiles and need help fixing the issue. I have my app in the Apple app store for iPhone, iPad, and Mac and have sent out multiple updates. I just recently updated my Xcode to Xcode 12 and can no longer…
4
votes
1 answer

Catalyst: How to open settings on Mac?

In the original IOS version of my app, the following code successfully opens settings: [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString] options:@{} completionHandler:^(BOOL success) { …
Thunk
  • 4,099
  • 7
  • 28
  • 47