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
12
votes
6 answers

Mac Catalyst: tableView allowmultipleselection not working

I have a tableview that allows multiple selection. I have set both allowsMultipleSelection and allowsMultipleSelectionDuringEditing to true in viewDidLoad and this is working perfectly on both iOS and iPadOS. I have decided to try out the Catalyst…
ohomaidi
  • 123
  • 1
  • 5
12
votes
2 answers

Open a new window in Mac Catalyst

I am porting an iPad app using Mac Catalyst. I am trying to open a View Controller in a new window. If I were using strictly AppKit I could do something as described in this post. However, since I am using UIKit, there is no showWindow() method…
Arturo Reyes
  • 179
  • 1
  • 6
12
votes
1 answer

EXC_BAD_INSTRUCTION from com.apple.xpc.activity.com.apple.cloudkit.scheduler.com.apple.coredata.cloudkit.activity.export

I have an app that runs fine on iOS, but when running with catalyst, it gives me this crash intermittently if I swipe to another virtual Desktop on macOS, and then back, for about 10 times. It mostly happens on a UICollectionViewController This is…
Phuah Yee Keat
  • 1,572
  • 1
  • 17
  • 17
12
votes
1 answer

Issue with Mac Catalyst - linking in object file built for iOS Simulator

I am trying to build my iOS/iPadOS project on my mac using the new Mac Catalyst. When I build it on the simulator for iPhone everything is fine but when I build it on my Mac, I get this error. in…
Nevin Jethmalani
  • 2,726
  • 4
  • 23
  • 58
11
votes
3 answers

Clicking problems in SwiftUI Catalyst with Big Sur

I just updated to Big Sur and now I'm experiencing serious troubles in my Catalyst app. I created a new project with similiar code to test it. The behaviour is a little bit different, but in both cases there is one point, where clicking stops…
Lupurus
  • 3,618
  • 2
  • 29
  • 59
10
votes
6 answers

Embedding XCFramework in application with project framework dependencies

I have an Xcode workspace which features a project with an iOS Application target, and another project with a Framework target. The framework target is dependent on another framework, which is integrated in the form of an…
Merrick Sapsford
  • 139
  • 1
  • 1
  • 8
10
votes
2 answers

How do Mac Catalyst apps handle lifecycle transitions?

Is it just my app, or do all Mac apps made with Catalyst not undergo lifecycle changes except when launching or quitting? Upon launch, the UIWindowSceneDelegate methods sceneWillEnterForeground: and sceneDidBecomeActive: are called. When quitting…
AVS
  • 373
  • 3
  • 19
10
votes
0 answers

VPN not working on Mac Catalyst SecKeychainItemCopyContent returned The contents of this item cannot be retrieved

I'm trying to run my VPN iOS application on Mac OS platform with Mac Catalyst. My code is work on iOS applications but somehow it's not working on Mac OS. VPN is not connect. But seems available in Network from System Preferences on Mac…
Bartu Akman
  • 187
  • 10
10
votes
1 answer

How to Open Finder in Mac Catalyst 13.0+ swift

He there, I'm trying to open (Launch) a Finder in Mac Catalyst 13.0+. and the 'NSWorkspace' is unavailable in Mac Catalyst My code: func openFinder(url: URL?){ guard let url = url else { return } …
Faris
  • 1,206
  • 1
  • 12
  • 18
10
votes
1 answer

How to detect window resizing in Mac Catalyst?

How can I a get a notification when user resize the window while: NotificationCenter.default.addObserver(self, selector: #selector(function), name: NSWindowDidResizeNotification, object: nil) is unavailable in Mac Catalyst
Mansour
  • 515
  • 3
  • 7
  • 20
10
votes
3 answers

Xcode 11 - Disable resize mode in catalyst swift

We are converting our Swift based iOS app to Mac compatible using Catalyst in Xcode 11. We are facing an issue in UI when user resize app window. So can we disable resize mode and give fix frame for app window?
Hardik Thakkar
  • 15,269
  • 2
  • 94
  • 81
9
votes
1 answer

UIMarkupTextPrintFormatter and Mac Catalyst

I have an iPad application which I've successfully moved to Mac using Catalyst. While I can generate PDFs on the iPad/iPhone using UIMarkupTextPrintFormatter, it doesn't work on the Mac when it really should. In fact, I cannot even build the Mac…
Paul Martin
  • 699
  • 4
  • 13
9
votes
1 answer

How to build a Fat Framework that includes Mac Catalyst?

How does one build a fat framework that includes the architectures necessary to build to Mac Catalyst apps?
9
votes
4 answers

Is it possible to use full screen in Mac Catalyst?

Porting a game to macOS Catalyst, but window is quite small. Is it possible to start in full screen instead?
Lim Thye Chean
  • 8,704
  • 9
  • 49
  • 88
9
votes
2 answers

Deprecation warning in Mac Catalyst but only in Objective-C, not in Swift

I'm using Xcode 11 on the GM build of Catalina (10.15). I'm working on building my iOS app for Mac Catalyst. My iOS app has a deployment target of iOS 11. I have a simple line in a view controller such as: self.modalInPopover = YES; Compiles clean…
rmaddy
  • 314,917
  • 42
  • 532
  • 579
1
2
3
35 36