What’s New in the macOS SDK
Learn about the key technologies and capabilities available in the macOS SDK, the toolkit you use 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 11 SDK, your app can take advantage of a redesigned user interface, widgets in Notification Center, and new SwiftUI layouts. Machine learning adds style transfer and action classification to models that are ready to be trained, and offers a CloudKit-based deployment solution. Vision API additions help your app analyze image and video more thoroughly. You can include markups in your emails and websites that help Siri Event Suggestions surface your events. And Safari adds web extensions to further customize the browsing experience, while other browsers can now contribute Screen Time web-usage data.
New User Interface
macOS 11 introduces a redesigned user interface that enhances usability and approachability, and provides greater consistency with iPadOS. Most existing macOS apps that use system-provided controls automatically adopt the new appearance. If your app has a custom appearance, visit the macOS Human Interface Guidelines to learn how to update your app so it continues looking great for users.
AppKit introduces a variety of changes to interface elements, including alerts, browsers, buttons, menus, search fields, segmented controls, and toolbars. For details, see AppKit Release Notes.
App Store Privacy Information
Privacy is at the core of the entire macOS experience, and new privacy information in the Mac App Store gives users even more transparency and control over their personal information. Later this year, the Mac App Store will help users understand apps’ privacy practices, and you’ll need to enter your privacy practice details into App Store Connect for display on your Mac App Store product page.
Widgets give users quick access to timely, at-a-glance information from your app in the macOS Notification Center. macOS 11 offers a redesigned widget experience. Your app can present widgets in multiple sizes, allow user customization, include interactive features, and update content at appropriate times. To learn about designing widgets, see the Human Interface Guidelines. To learn how to support widgets in your app, see the WidgetKit framework.
Apps built with Mac Catalyst automatically adopt the new look of macOS 11 and make full use of the native screen resolution of Mac. macOS 11 has new and improved APIs for keyboards, menus, toolbars, color panels, and more, giving you greater control over the look and behavior of your app. To learn how to get full control of every pixel of the interface and Mac-specific controls, such as pull-down menus and checkboxes, see Choosing a User Interface Idiom for Your Mac App. To learn more about building Mac versions of your iPad apps, see the Mac Catalyst documentation.
Your machine learning apps gain new functionality, flexibility, and security with the updates in macOS 11. Core ML adds model deployment with a dashboard for hosting and deploying models using CloudKit, so you can easily make updates to your models without updating your app or hosting the models yourself. Core ML model encryption adds another layer of security for your models, handling the encryption process and key management for you. The Core ML converter supports direct conversion of PyTorch models to Core ML.
The Create ML app’s new Style Transfer template stylizes photos and videos in real time, and the new Action Classification template classifies a single person’s actions in a video clip. The Object Detection and Word Tagger templates have new transfer learning options to approve model accuracy when training data is limited. Training control helps you explore models and interact with them during model training. And ML Compute takes advantage of GPUs to accelerate training on the Mac. For more information, see the Core ML, Create ML, and ML Compute developer documentation.
With macOS 11, the Vision framework has added APIs for trajectory detection in video, hand and body pose estimation for images and video, contour detection to trace the edges of objects and features in image and video, and optical flow to define the pattern of motion between consecutive video frames. To learn more about these features, see the Vision framework documentation. In particular, read Building a Feature-Rich App for Sports Analysis to find out how these features come together in a sample app.
The Natural Language framework has new API to provide sentence embedding that creates a vector representation of any string; word tagging to train models that classify natural language, customized for your specific domain; and confidence scores that rank the framework’s predictions. For more information, see the Natural Language framework documentation.
SwiftUI provides a selection of new built-in views, including a progress indicator and a text editor. It also supports new view layouts, like grids and outlines. Grids and the new lazy version of stacks load items only as needed.
Starting in Xcode 12, you can now use SwiftUI to define the structure and behavior of an entire app. Compose your app from scenes containing the view hierarchies that define an app's user interface. Add menu commands, handle life-cycle events, invoke system actions, and manage storage across all of your apps. By incorporating WidgetKit into your app, you can also create widgets that provide quick access to important content right on the iOS Home screen or the macOS Notification Center. For more information, see App Structure and Behavior.
Safari Web Extensions
Users can customize Safari with new functionality and features by adding your extensions. You can now leverage Safari Web Extensions inside Safari and access migration tools that make it easy to convert popular extensions for other browsers to Safari. Safari extensions also give users privacy control — they can decide which sites an extension can work with and give it access just once, all day, or all the time. The new Extensions category on the Mac App Store showcases Safari extensions, with editorial spotlights and top charts.
Family Sharing for In-App Purchases
Family Sharing is a simple way for users to share subscriptions, purchases, and more with everyone in their household. And with macOS 11, you can choose to offer Family Sharing for your users’ in-app purchases and subscriptions so their whole family can enjoy the added benefits. See the SKProduct and SKPaymentTransactionObserver for the new APIs.
The DriverKit frameworks add new features to support creating device drivers that the user installs on their Mac. Drivers built with the DriverKit frameworks run in the user space, rather than as kernel extensions, for improved system security and stability. macOS 11 introduces the SCSIControllerDriverKit framework for developing drivers for SCSI protocol-based devices.
Uniform Type Identifiers
Use the new Uniform Type Identifiers framework to describe file formats and in-memory data for transfer, such as the pasteboard; and to identify resources, such as directories, volumes, and packages.
A new Accessibility framework lets your app dynamically deliver a subset of accessible content to a user based on context.
Use the new Apple Archive framework to perform fast, multithreaded, lossless compression of directories, files, and data in macOS.
macOS 11 includes Screen Time APIs for sharing and managing web-usage data and observing changes a parent or guardian makes. For more details, see the Screen Time framework documentation.