Mac Catalyst

Create a version of your iPad app that users can run on a Mac device.


With Mac Catalyst, you can make a Mac version of your iPad app. Click the Mac checkbox in your iPad app’s project settings to configure the project to build both Mac and iPad versions of your app.

A screenshot of Xcode highlighting the Mac checkbox in the General project settings for an iPad app.

The two apps share the same project and source code, making it easy to change your code in one place.

For information about designing a Mac version of your iPad app, see Mac Catalyst in the Human Interface Guidelines.



Creating a Mac Version of Your iPad App

Bring your iPad app to macOS with Mac Catalyst.

App Support

Optimizing Your iPad App for Mac

Make your iPad app more like a Mac app by taking advantage of system features in macOS.

User Interface

UIKit Catalog: Creating and Customizing Views and Controls

Customize the user interface of your iOS and Mac Catalyst apps by using views and controls in UIKit.


Provide a space for controls under a window's title bar and above your custom content.

Touch Bar

Display interactive content and controls in the Touch Bar.

User Interactions

Adding Menus and Shortcuts to the Menu Bar and User Interface

Provide quick access to useful actions by adding menus and keyboard shortcuts to your Mac Catalyst app.


A gesture recognizer that looks for pointer movement over a view.

User Preferences

Displaying a Preferences Window

Let users manage app settings defined in a Settings bundle through a system-provided preferences window.

See Also

App Structure

App and Environment

Manage life-cycle events and your app’s UI scenes, and get information about traits and the environment in which your app runs.

Documents, Data, and Pasteboard

Organize your app's data and share that data on the pasteboard.

Resource Management

Manage the images, strings, storyboards, and nib files that you use to implement your app's interface.

App Extensions

Extend your app's basic functionality to other parts of the system.

Inter-Process Communication

Share data through Handoff, support universal links into your app's content, and display activity-based services to the user.