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
7
votes
0 answers

How to open file from Finder with Mac-Catalyst App

I am looking for way to receive opened file's URL from Finder of macOS. I implemented ZIP document type association into info.plist of an Mac-Catalyst app. So If user once associated ZIP file to my app for default app, user can double click ZIP file…
shuna
  • 307
  • 1
  • 7
7
votes
1 answer

Mac Catalyst and iOS 13.5

I am currently getting a weird warning from Xcode 11.5 (I'm using the release version): The Mac Catalyst deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 13.5, but the range of supported deployment target versions is 13.1 to 13.4.99. I did…
lar3ry
  • 510
  • 4
  • 8
7
votes
4 answers

Is UITextField+UIPickerView supported under Mac Catalyst?

In my iOS app I have a textfield with a picker view assigned to it's inputView. On iOS devices the picker view pops up whenever the user taps the textfield. The same code does not do that, however, when I run it as a Mac/Catalyst app. My debug…
Electro-Bunny
  • 1,380
  • 2
  • 12
  • 33
7
votes
3 answers

SwiftUI: Catalyst Alert Showing Duplicate Buttons and Not Triggering Action

For some reason, the following code is displaying an Alert with three instances of the same button, none of which trigger the action (just a simple console output for an example) as expected: Has anyone else experienced this? Any suggestions on a…
TheNeil
  • 3,321
  • 2
  • 27
  • 52
7
votes
2 answers

Building for Mac Catalyst with Crashlytics

Has anybody using Crashlytics been able to compile their iOS app for Mac Catalyst? I tried building one of our iOS apps for Catalyst but I got the following error: ld: in…
bugloaf
  • 2,890
  • 3
  • 30
  • 49
7
votes
1 answer

Is there a way to send the user to the app's privacy settings under macOS like we do in iOS?

Like many apps, my iOS app offers the user a chance to open the app's settings page if a certain privacy permission has been disabled. In iOS, using the special UIApplicationOpenSettingsURLString / openSettingsURLString URL takes the user to the app…
rmaddy
  • 314,917
  • 42
  • 532
  • 579
6
votes
2 answers

Swift availability check for macCatalyst / iOS failing

I have added an iOS 15+/macCatalyst 15.0+ function to my app and now it is crashing when run on an M1 iMac through Mac Catalyst (Designed for iPad). I have an availability check around my function however when run on my Mac (macOS 11.6), the code…
Darren
  • 10,182
  • 20
  • 95
  • 162
6
votes
3 answers

SwiftUI - Catalyst translucent sidebar

Goal is to make a translucent sidebar on Mac Catalyst. The code bellow gives a not translucent sidebar (image 1). On Mac (not catalyst) the sidebar looks fine (image 2). is it possible to have a translucent sidebar on Mac Catalyst? import…
Mane Manero
  • 3,086
  • 5
  • 25
  • 47
6
votes
1 answer

Tabbar iPad App to Sidebar macOS Catalyst app

I am struggling to figure out how to turn my tabbar based iPad app into a sidebar navigation based Catalyst app. Similar to the screenshot that Apple shows: You can see in the screenshot above the iPad app uses a tabbar layout but the macOS…
Nic Hubbard
  • 41,587
  • 63
  • 251
  • 412
6
votes
4 answers

iOS: Mac Catalyst, Testing iOS app on Other Macs

I'm building an iOS app, and the client wants to enable the run on Mac feature. I enabled it and all run as expected on my Mac. How can I let them test it on their Macs? since TestFlight only runs on iOS devices.
fullmoon
  • 8,030
  • 5
  • 43
  • 58
6
votes
0 answers

Mac Catalyst Modal Presentation No Animation

I have recently bridged one of my apps to Mac via Catalyst. However, we noticed something strange: on Mac, formSheet modal presentation's animation is gone. When I call present, the animated parameter is true, and the transition style is the…
Nicholas
  • 747
  • 7
  • 23
6
votes
2 answers

Error uploading new app version with Mac Catalyst

The message that I receive when I try to upload a new app version (1.1) for Mac Catalyst. ERROR ITMS-90061: "This bundle is invalid. The value for key CFBundleVersion [ 1 ] in the Info.plist file must contain a higher version than that of the…
Bogdan Bogdanov
  • 882
  • 11
  • 36
  • 79
6
votes
3 answers

Transparent Toolbar in Mac Catalyst

I was able to create a unified toolbar in Mac Catalyst with this in the SceneDelegate.swift: // Use a UIHostingController as window root view controller. if let windowScene = scene as? UIWindowScene { let window = UIWindow(windowScene:…
Lupurus
  • 3,618
  • 2
  • 29
  • 59
6
votes
1 answer

Problem creating Mac Catalyst App Store profile

I am trying to upload my first Catalyst game to Mac App Store. After many troubles, I successfully created an entry in Mac App Store, then the last part - during submission, it says that "Profile is not a "Mac Catalyst App Store" profile! Then I try…
Lim Thye Chean
  • 8,704
  • 9
  • 49
  • 88
6
votes
1 answer

How can I use Keychain in Mac Catalyst app on Mac?

I can't write/read from Keychain in a Mac-Catalyst app on Mac, it returns errors 34018 and 25300 respectively. Is there a way to make Keychain work on Mac in a Catalyst app? Xcode: 11.0, MacOS: 10.15 Here is a sample code, it works on iOS but not on…
Evgenii
  • 36,389
  • 27
  • 134
  • 170