What’s New in the macOS SDK
Learn about the key technologies and capabilities available in the macOS SDK, the toolkit used to build apps for Mac. For detailed information on API changes in the latest released versions, including each beta release, see the macOS Release Notes.
With the macOS 10.15 SDK, your app can take advantage of Sign in with Apple, Core Data syncing with CloudKit, Apple CryptoKit, and more. You can build device drivers with DriverKit that run in the user space, and write modern event processing code with Combine. You can also build more flexible and dynamic user interfaces with SwiftUI, and create a Mac version of your iPad app using UIKit.
Bring Your iPad App to Mac
Xcode 11 gives you a head start in bringing your iPad app to Mac. Begin by selecting the "Mac" checkbox in the project settings of your iPad app. To learn more, see Creating a Mac Version of Your iPad App and Bring Your iPad App to Mac.
Sign in with Apple
Sign in with Apple gives you a fast, secure, and privacy-friendly way for people to set up an account and start using your services from your apps and websites. For more information, see Sign in with Apple.
SwiftUI is a modern approach to building user interfaces for iOS, macOS, watchOS, and tvOS. You can build dynamic interfaces faster than ever before, using declarative, composition-based programming. The framework provides views, controls, and layout structures for declaring your app’s user interface. It also provides event handlers for delivering taps, gestures, and other types of input to your app, and tools to manage the flow of data from your app’s models down to the views and controls that users will see and interact with.
To get started, see Learn to Make Apps Using SwiftUI.
Combine is a new framework that provides a declarative Swift API for processing values over time. These values can represent user interface events, network responses, scheduled events, and many other kinds of asynchronous data. With Combine, you declare publishers that expose values that can change, and subscribers that receive those values from the publishers. Combine makes your code easier to read and maintain, by centralizing your event-processing code and eliminating troublesome techniques like nested closures and convention-based callbacks.
For more information, see the Combine framework documentation.
Use the new Apple CryptoKit framework to perform common cryptographic operations securely and efficiently, such as:
- Computing and comparing cryptographically secure digests.
- Using public-key cryptography to create and evaluate digital signatures.
- Generating symmetric keys, and using them in other operations like message authentication and encryption.
For more information, see the Apple CryptoKit framework documentation.
Sync your Core Data store with CloudKit, giving users of your app seamless access to their data across all their devices. Core Data with CloudKit combines the benefits of local persistence with cloud backup and distribution. To learn more, see Mirroring a Core Data Store with CloudKit.
The new DriverKit framework allows you to create device drivers that the user installs on their Mac. Drivers built with DriverKit run in the user space, rather than as a kernel extension, for improved system security and stability. For more information, see the DriverKit framework documentation.
The FileProvider framework comes to macOS. Use this framework to create a File Provider extension that allows others apps to access documents stored on a remote server. To learn more, see the FileProvider framework documentation.
Core ML 3
Core ML 3 now supports supports on-device model personalization, allowing you to update a model by retraining or fine-tuning it with user specific data privately from within your app. Core ML has also has greatly expanded its support for dynamic neural networks with over 100 layer types.
For more information, see the Core ML framework documentation.
Starting with macOS 10.15, you can use the Vision framework to:
- Perform saliency analysis on images.
- Detect humans and animals in images.
- Classify images for categorization and search.
- Analyzing image similarities with feature print.
- Perform text recognition on documents.
For more information, see the Vision framework documentation.
Metal gives the GPU even greater control of the graphics pipeline, adds features that make it easier to perform advanced GPU processing found in Pro apps, and simplifies the work you need to do to support different kinds of GPUs. New tools, including Metal support in Simulator, help you get started faster and understand whether your iOS app is using Metal correctly. For more information, see Metal.
Metal Performance Shaders provides new options for image processing, Machine Learning, and ray tracing, including GPU generation and dynamic updates of ray tracing acceleration structures. For more information, see the Metal Performance Shaders framework documentation.
Use the new RealityKit Swift framework to simulate and render 3D content for use in your augmented reality apps including the ability to add animation, physics, and spatial audio to your AR experience. Using RealityKit, integrate AR experiences you created with Reality Composer into your app or build AR experiences entirely using RealityKit. To learn more, see the RealityKit framework documentation.