SAP Home Learn Build Integrate Model Operate Extend with AI ConnectTutorial navigator Knowledge Graph API Devtoberfest Developer Advocates App Space

Manage my Account SAP Devs YouTube ↗ Learnings ↗ Community ↗ Provide Feedback ↗
Logout
โคข Open full site

Understand Mac Catalyst

Learn what Mac Catalyst is and what you should consider before transforming your iOS app into a MacOS application.

Overview

🎓 beginner 20 min. SAP BTP Sdk For IosBeginnerIosMobileOdataSAP Business Technology Platform

You will learn

  • โœ”What is Mac Catalyst
  • โœ”What you should consider before transforming your app in a Mac Catalyst ready application
  • โœ”How to run your iPad app on MacOS [ACCORDION-BEGIN [Step 1: ](What is Mac Catalyst)] Mac Catalyst was introduced by Apple in 2019 during WWDC. Mac Catalyst allows you as a developer to transform your iPad app easily into a MacOS application. Mac Catalyst allows you to change your code to enable or disable certain features for MacOS. For example you can change certain UI elements to fit better on the MacOS platform or implement Menu Bar items and more. Mac Catalyst combined a lot of the common frameworks and make them available to run both on MacOS as well as iOS, e.g. Foundation. The big difference is that the underlying UI technologies remained separated on MacOS (AppKit) as well as on iOS (UIKit). What Mac Catalyst allows you to do is run UIKit on MacOS which allows your iPad ready app to run on Mac. > If you’re interested in Mac Catalyst in more detail, please visit Bring Your iPad App to Mac [DONE] [ACCORDION-END] [ACCORDION-BEGIN [Step 2: ](What to consider before using Mac Catalyst)] Before you transform your app into a MacOS ready app through Mac Catalyst, you should consider if your app is actually suitable for a MacOS application:
  • โœ”You should definitely familiarize yourself with the Human Interface Guidelines for Mac Catalyst.
  • โœ”Also think about if you’re using features which are not available on Mac Catalyst like ARKit.
  • โœ”Think about your Use Case of the iPad app and think about if that app would make sense on Mac.
  • โœ”If you already have a well maintained MacOS application released you should think twice if it is helpful to replace it with you iOS app. [DONE] [ACCORDION-END] [ACCORDION-BEGIN [Step 3: ](What you get free when enabling your iPad-ready app for Mac)] The great thing when you transform your app with Mac Catalyst is that Apple gives you a lot of things for free! Not only the platform frameworks, databases as well as services but also the following:
  • โœ”Functional default menu bar
  • โœ”Window management including
  • โœ”Window resizing
  • โœ”Full screen mode
  • โœ”Split view support
  • โœ”Sidecar
  • โœ”Dark Mode support
  • โœ”Mac Scrollbars with full interaction support
  • โœ”Scroll support while inactive window
  • โœ”Using a settings bundle will automatically give you a settings menu If you want more information about Mac Catalyst you can always visit the following resources:
  • โœ”Mac Catalyst Developer Guide
  • โœ”iPad Apps for Mac - WWDC Videos [DONE] [ACCORDION-END] [ACCORDION-BEGIN [Step 4: ](Make your app Mac ready)] Before you do the necessary steps to make our app Mac ready let’s take a look on how the app is going to look like on all three platforms. !
    Finished Apps
    Finished Apps
    You can see that you’re going to change the appearance on MacOS to a split view having a side bar. > NOTE: If you have created the project with the SAP BTP SDK for iOS Assistant and did check for Mac Catalyst support the deployment info should already be set. You only have to set the Signing & Capabilities to your Team and provisioning profile. 1. In your Xcode project click on the TutorialApp.xcproj file located in the project navigator and make sure that Mac is selected in the Deployment Info section. !
    Mac Catalyst Project
    Mac Catalyst Project
    2. Click on Signing & Capabilities tab and select your Team, and Signing Certificate. You can also see that the Bundle Identifier changed using a new prefix maccatalyst to identify a Mac Catalyst app. !
    Mac Catalyst Project
    Mac Catalyst Project
    That is all you have to do. 3. Run the app now on MacOS choosing the My Mac scheme. !
    Mac Catalyst Project
    Mac Catalyst Project
    [VALIDATE_4] [ACCORDION-END]
Kevin Muessig K Kevin Muessig January 9, 2023
Created by November 17, 2022
Contributors

Prerequisites

Prerequisites

  • Development environment: Apple Mac running macOS Catalina or higher with Xcode 13 or higher
  • SAP BTP SDK for iOS: Version 7.0 or higher

Steps

Details

You will learn

  • What is Mac Catalyst
  • What you should consider before transforming your app in a Mac Catalyst ready application
  • How to run your iPad app on MacOS

Step 1 What is Mac Catalyst
โ€”

Mac Catalyst was introduced by Apple in 2019 during WWDC. Mac Catalyst allows you as a developer to transform your iPad app easily into a MacOS application. Mac Catalyst allows you to change your code to enable or disable certain features for MacOS. For example you can change certain UI elements to fit better on the MacOS platform or implement Menu Bar items and more.

Mac Catalyst combined a lot of the common frameworks and make them available to run both on MacOS as well as iOS, e.g. Foundation.

The big difference is that the underlying UI technologies remained separated on MacOS (AppKit) as well as on iOS (UIKit). What Mac Catalyst allows you to do is run UIKit on MacOS which allows your iPad ready app to run on Mac.

If you’re interested in Mac Catalyst in more detail, please visit Bring Your iPad App to Mac

Step 2 What to consider before using Mac Catalyst
+
Step 3 What you get free when enabling your iPad-ready app for Mac
+
Step 4 Make your app Mac ready
+

Resources

Discussion

Share feedback on this tutorial or join the conversation in SAP Community.

Submit detailed feedback Discuss in Community
Steps
Step 1 of 4
1. What is Mac Catalyst 2. What to consider before using Mac Catalyst 3. What you get free when enabling your iPad-ready app for Mac 4. Make your app Mac ready

Learn more →