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
-1
votes
1 answer

Is there a way to use IOS API to get Mac os version of my App working?

I am building iOS and MacOS app. Both share Swift code base. Seems like Mapbox does not support MacOS. So currently I am using Mapbox GL JS as a web view. What I found is if I use my styles in Mapbox Ios Preview App, navigations are super smooth and…
artpen
  • 25
  • 7
-1
votes
1 answer

NSSavePanel for Mac Catalyst?

Objective: a sandboxed application for Mac Catalyst. I need to create a file for writing data on external drive. As far as I understand, there should be some kind of dialog which grants permission to write data to a specific location outside of the…
Kibernetik
  • 2,947
  • 28
  • 35
-1
votes
1 answer

Mac Catalyst: Determine App's Command Line Arguments

Is there a way within a Mac Catalyst app to access the arguments passed along to an application launched through the command line? Thinking it would be passed through to func application(_ application: UIApplication, didFinishLaunchingWithOptions…
Jake Chasan
  • 6,290
  • 9
  • 44
  • 90
-1
votes
1 answer

How can I programmatically hide the title bar similar to how QuickTime player works?

When I'm watching a video file the title bar and the controls disappear after a while leaving only the movie. How can I achieve the same behavior? I know how to make the title bar disappear using this code: - (void)scene:(UIScene *)scene…
Vulkan
  • 1,004
  • 16
  • 44
-1
votes
1 answer

swift ios macCatalyst app does not load some views on startup on macOS Monterey

since the release of the new macOS Moterey operating system (12) my MacCatalyst application does not load some views at startup until I resize the window or change focus. If I look at XCode's Debug View Hierarchy these views are not present. If, on…
Meroelyth
  • 5,310
  • 9
  • 42
  • 52
-1
votes
1 answer

SwiftUI contextMenu Mac Catalyst compatibility

I cannot get the SwiftUI api contextMenu(menuItems:) to work when I build for Mac Catalyst. The Apple docs say it is compatible with Mac Catalyst 13+. It works fine on iOS, however, when I build for Catalyst it does nothing. Am I missing something…
Ruben
  • 1,950
  • 1
  • 12
  • 13
-1
votes
2 answers

How to set UIBackgroundConfiguration for UIButton?

I am struggling to change background properties of UIButton. They can be easily modified using "Background Configuration" settings in Interface Builder: but I don't understand how to set them programmatically. For example, I try to do it like…
Kibernetik
  • 2,947
  • 28
  • 35
-1
votes
1 answer

Mac Catalyst - control window resize

I have an app for ipad/iphone, now adding also mac support by Mac Catalyst. On Mac, I want to control window resizing, in order to allow only some sizes and aspects. It goes beyond simple minimal height and weight, or aspect. I want to allow user to…
Kaven
  • 147
  • 1
  • 11
-1
votes
1 answer

Open CV: cv::LineIterator undefined when compiling for Mac M1

I have an error of Undefined symbol cv::LineIterator::LineIterator(cv::Mat const&, cv::Point_, cv::Point_, int, bool). So I've stumbled upon this issue that I am not sure if it is a bug but I cannot figure out how to fix it or what I am…
ShadowStep
  • 41
  • 4
-1
votes
1 answer

AudioComponentGetIcon unavailable on Mac Catalyst (iOS to macOS porting)

I would like to port an iOS app to macOS using Mac Catalyst. The app is an audio host for the AUv3 plugins. The problem is that I can't get the plugin icon using the AudioComponentGetIcon API since is unavailable on macOS. How can I get the plugin…
-1
votes
1 answer

OpenGLES is deprecated and is not available when building for Mac Catalyst

I have an app written in Objective-C. I tried to import it to Mac Catalyst and when i build it for "My Mac" i get this error: OpenGLES is deprecated and is not available when building for Mac Catalyst. How can i fix it? Best regards.
dUser
  • 81
  • 8
-2
votes
0 answers

Application is crashing in iPad OS 16.3.0 and Device is iPad 12.9 (3rd gen). How can I find the iissue?

This is crash log in Firebase Crashlytics: Crashed: com.apple.main-thread 0 libsystem_kernel.dylib 0x9868 __pthread_kill + 8 1 libsystem_pthread.dylib 0x6cec pthread_kill + 288 2 libsystem_c.dylib 0x792c8 abort + 180 3…
-2
votes
1 answer

Minimum macOS deployment target for macCatalyst project?

Today I ported iPad project to macOS through macCatalyst. This is a simple project like dictionary between two languages. What is the minimum macOS deployment target for macCatalyst project? Can I set lower than 10.15 ?
Voloda2
  • 12,359
  • 18
  • 80
  • 130
1 2 3
35
36