Overview
The macOS 12 SDK provides support to develop apps for Mac computers running macOS Monterey 12 beta. The SDK comes bundled with Xcode 13 beta, available from Beta Software Downloads. For information on the compatibility requirements for Xcode 13, see Xcode 13 Beta Release Notes.
AppKit
AirPlay Receiver
Known Issues
AirPlay Receiver doesn’t appear in System Preferences > Sharing on unsupported hardware. (78170150)
App Extensions
Known Issues
App Extensions within apps built for iOS or iPadOS won’t launch. (78042681)
App Store
New Features in macOS Monterey 12 beta
StoreKit 2 introduces a modern Swift-based API that takes advantage of new language features like Swift concurrency. Use this API to load product information, display in-app purchases in your store, allow customers to make purchases, manage access to content and subscriptions, and receive transaction information signed by the App Store in JSON Web Signature (JWS) format. (66587964)
Known Issues
Client apps using the status listener don’t receive status updates. Changing the
Product
of a.Subscription Info .Status subscription
doesn’t invoke thelistener
. (78375457)When calling
latest(for:)
onTransaction
, or accessing thelatest
property on aTransaction Product
value, the method called may not return the latestTransaction
for the givenproduct
. (78466898)ID Subscription
renewals aren’t automatically pushed to your app through the StoreKit 2 APIs in the App Store sandbox environment.Transaction
and renewal information may not be immediately available. (78463355)StoreKit APIs fail if the app is contained within
~/Library
. (78470009)Workaround: In Xcode Preferences > Location, change the Derived Data setting to Custom, and choose a directory that isn’t contained in
~/Library
.
Authentication Services
Known Issues
An app might become unresponsive when attempting to register a passkey soon after canceling a previous passkey request. (78294960)
Workaround: Force quit and relaunch the app.
AVFoundation
Known Issues
iOS and iPadOS apps on macOS with resizable windows might unexpectedly display rotated images when viewing live camera previews, or when capturing stills and video. (76122102)
Bluetooth
Known Issues
Input devices might disconnect unexpectedly. (78421734)
Workaround: Turn Bluetooth off and on. If the issue persists, restart your Mac.
Calendar
Known Issues
Calendar might quit unexpectedly when adding a FaceTime video call to an existing repeating meeting. (78280294)
Core Graphics
Known Issues
Images or thumbnails might exhibit an unexpected black or white grid overlay. (77994242)
Core Haptics
New Features in macOS Monterey 12 beta
QuickLook can display a visual representation of your Apple Haptic Audio Pattern (AHAP) files. In Finder, select the
.ahap
file and press the Spacebar to preview the pattern visually. (70462875)
Create ML
New Features in macOS Monterey 12 beta
Create ML is now supported for use in command-line tools. (40637430)
The new
MLHand
allows you to train models to categorize static hand poses in an image. The newPose Classifier MLHand
allows you to train models to categorize dynamic hand actions in video. (68738683)Action Classifier The new Audio Feature Print-based
MLSound
algorithm enables you to train sound classifier models faster, with higher accuracy, lower latency, and a smaller model size. This is now the default algorithm option for theClassifier MLSound
in Create ML. (70106630)Classifier
Known Issues
Using Xcode 13 beta to build your existing macOS app that links against Create ML implicitly fails with an undefined symbol error. The same failure also happens if you use Xcode 13 beta on macOS Big Sur 11 to create a new macOS app that links against Create ML. (74036054)
Workaround: Explicitly link against the Create ML framework: In Xcode, select your target > Build Phase > Link Binary With Libraries > Add
Create
, and then build your app.ML .framework
Debugging
Known Issues
When running apps with the
LIBDISPATCH
environment variable set to_COOPERATIVE _POOL _STRICT 1
, the process crashes inlibdispatch
. (78177966, 78184764)
Displays Preferences
Known Issues
Changing display resolution immediately after changing refresh rate might result in the system resetting the refresh rate to the previous value. (77992111)
Workaround: Quit and relaunch System Preferences after changing the refresh rate of a display.
In Displays Preferences, option-clicking the Scaled radio button might not reveal the full list of available resolutions and refresh rates. (77866488)
Workaround: Turn off Caps Lock before option-clicking the button.
Endpoint Security
Known Issues
When initializing a new EndpointSecurity client via
es
, a set of executable paths is automatically muted for a subset of_new _client AUTH
event types to help reduce inadvertent negative impact to end users (for example, panics triggered bywatchdogd
due to clients not responding toAUTH
events quickly enough). The set of muted paths and associated event types are inspectable usinges
. Although unmuting the_muted _paths _events AUTH
events associated with these paths isn’t recommended, it’s possible to do so usinges
. (78405437)_unmute _path _events
FaceTime
Known Issues
Spatial panning of audio in Group FaceTime calls might not initiate when starting a call. (78537333)
Workaround: Resize the FaceTime window.
Find My
Known Issues
You might be unable to remove, erase, or place a device into Lost Mode. (76912451)
Workaround: Use iCloud Find instead.
Focus
Known Issues
Focus status in third party apps isn’t available. (75049369)
Autoreply isn’t functional. (77510470)
Foundation
New Features in macOS Monterey 12 beta
Foundation now includes an automatic grammar agreement engine. This simplifies your code and reduces the number of localized strings you need to provide by automatically inflecting localized strings to account for pluralization, grammatical gender agreement, and agreement with the user’s term of address. It is available for English and Spanish. (70210115)
Formatting APIs are now available, which focus on the format and remove the need to create, configure, and cache a formatter instance. Each
Formatter
type has aformatted
function. These functions have arguments that allow for configuration and customization of the style. (70220307)JSONSerialization
andJSONDecoder
now support decoding from JSON5. (73954652)New
Sort
,Descriptor Key
, andPath Comparator Sort
APIs provide a Swift interface to express archivable rules for sorting values. (74264359)Comparator
Known Issues
NSAttributed
andString Attributed
throw an exception when parsing Markdown that contains tables that don’t explicitly specify table alignments. (77476077)String English pronouns, both traditional and specified via
Morphology
, don’t contribute to inflection. (77621682).Custom Pronoun
Help
Known Issues
The sidebar doesn’t expand as expected when resizing the Help window. (78317786)
List items in the sidebar are incorrectly left-aligned instead of center-aligned when the sidebar is expanded. (78317877)
Home
Known Issues
Package Detection might not work, even though the “Package Detection” switch in camera settings is available. (78020938)
Workaround: Update the operating system on your home hub device to the most recent beta.
iCloud
Known Issues
You might be unable to subscribe to an iCloud storage plan through the Hide My Email settings. (78112695)
Workaround: Use System Preferences > Apple ID > iCloud > Manage > Buy More Storage, to subscribe to an iCloud plan.
Opening an Account Recovery Contact or Legacy Contact invitation link from Messages doesn’t display the invitation as expected. (78522143)
Choosing “Edit Message” during Account Recovery Contact and Legacy Contact setup generates an invalid invitation link. (78278107)
iCloud Private Relay settings might be unavailable. (78287769)
Workaround: Sign into iCloud, then restart your Mac.
iWork
Known Issues
Opening a link to shared iWork document might cause Safari to load a blank page or become unresponsive. (76428696)
Workaround: Install the corresponding iWork app and ensure that you have enabled iCloud Drive.
Language & Region
Known Issues
The user property of the
Morphology
type doesn’t currently reflect the selection made in System Preferences > Language & Region > Term of address. You can use theApple
default to test your app; for example, add the following argument to your app scheme to test as if the user selected a feminine term of address:User Morphology Apple
(78230115)User Morphology '{ "grammatical Gender" = "feminine"; }' Certain languages might display unlocalized text. (78476984)
Certain languages might exhibit clipped or misaligned layout. (78477103)
Lock Screen
Known Issues
Memoji isn’t animated as expected when set using the Apple ID pane in System Preferences. (76073287)
Workaround: Set your Memoji using Contacts, or in System Preferences > Users & Groups.
Logging
New Features in macOS Monterey 12 beta
os
from Swift as part of the framework OS on all platforms:_signpost(_: dso: log: name: signpost ID:) Instantiate
OSSignposter
using a subsystem and category, an existing OSLog object, or an existingLogger
object.The OSSignposter API provides methods for emitting signposts.
begin
emits begin signposts,Interval(_: id:) end
emits end signposts,Interval(_: _:) emit
emits event signposts. These replace the existingEvent(_: id:) os
calls based on_signpost String
andvarargs
.The APIs support
String
interpolations for the metadata parameter. TheString
interpolations are the same as those accepted by the Logger APIs.The OSSignposter API supports all formatting and privacy options — previously offered by the
os
functions — and follows the same syntax as the Logger APIs._signpost The APIs provide performance improvements over the legacy APIs.
The
OSSignposter type
provides a new scoped API for surrounding a block of code bybegin
andend
signposts,with
.Interval Signpost(_: id: _: around:)
Note: These APIs are unavailable in iOS 14 and iPadOS 14 and earlier; however, the existing
os
API remains available. (54756831)_signpost os
from Swift is part of the framework operating system on all platforms:_signpost(_: dso: log: name: signpost ID:) Instantiate
OSSignposter
using asubsystem
and acategory
, an existing OSLog object, or an existingLogger
object.The OSSignposter API provides methods for emitting signposts.
OSSignposter
emits.begin Interval begin
signposts,OSSignposter
emits.end Interval end
signposts, andOSSignposter
emits.emit Event event
signposts. These replace the existingos
calls based on_signpost String
andvarargs
.The APIs support
String
interpolations for themetadata
parameter. TheString
interpolations are the same as those accepted by the Logger APIs.The OSSignposter API supports all formatting and privacy options — previously offered by the os_signpost functions — and follows the same syntax as the Logger APIs.
The APIs provide performance improvements over the legacy APIs.
The
OSSignposter
type provides a new scoped API for surrounding a block of code by begin and end signposts,OSSignposter
. Note: These APIs are unavailable in iOS 14 and iPadOS 14 and earlier; however, the existing os_signpost API remains available. (54756831.with Interval Signpost
Known Issues
For every process crash, macOS generates two crash logs. (76650102)
Mac Catalyst
New Features in macOS Monterey 12 beta
Users of iPad and iPhone apps on Macs with M1 may enable/disable the Touch Alternatives feature via the app’s preferences panel. This preference is automatically added to all iPad and iPhone apps on Macs with M1. The feature makes it possible to use the keyboard to simulate swipes, taps, and drags, as well as device tilt, and it maps touches from the trackpad directly into the app when the Option key is held down.
Developers can automatically enable this feature for their app by default, by adding a properly configured com.apple.uikit.inputalternatives.plist to the app bundle. An onboarding dialog is shown on first launch in this case.
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict> <key>defaultEnablement</key> <true/> <key>version</key> <real>1</real> <key>requiredOnboarding</key> <array> <!-- Only include applicable features! --> <string>Tap</string> <string>Arrow Swipe</string> <string>Scroll Drag</string> <string>Tilt</string> <string>Trackpad Capture</string> </array></dict></plist>
Tailor the
required
array to onboard the Touch Alternatives that only make the most sense for your app. While only the subset of features specified in the array is visually presented to the user during onboarding, all Touch Alternatives are active when enabled in this manner.Onboarding
Known Issues
MusicKit can’t be imported alongside SwiftUI in a given Swift file for a Mac Catalyst app; however, Mac Catalyst apps built with UIKit aren’t affected. (78525134)
Workaround: Isolate usage of
Music
for Mac Catalyst in files that don’t import SwiftUI.Kit button
has no effect. (74057477)Size Workaround: Use the
UIBehavioral
behavioral style if button size is non-negotiable.Style Pad Setting the title color of a
UIButton
doesn’t work regardless of whether you usebase
orForeground Color title
. (76566253)Color For State: System buttons have a black background color if no color is set. (76910619)
Workaround: Set a color, or if you want the system default color, request a button using the iOS 14 and Mac Catalyst 15 or earlier API:
button
.With Type: Toolbar buttons that invoke actions handled by subclasses of
UISplit
are never enabled. (78421561)View Controller
macOS Recovery
Known Issues
You might be unable to start up from macOS Recovery. (78334511)
Workaround: Make several attempts in succession. Otherwise, see the “If you can’t start up from macOS Recovery” section of About macOS Recovery on Intel-based Mac computers.
Known Issues
Enabling or disabling an app extension might not be reflected in the toolbar of newly opened compose windows. (76475807)
Workaround: Quit and relaunch Mail.
MailKit APIs might unexpectedly appear available to Mac Catalyst; however, these are only supported in macOS. (78105388)
Maps
Known Issues
Maps might become unresponsive if you resize the window after clicking into the search bar. (78486298)
Deprecations
MKPin
andAnnotation View Map
are deprecated in this beta. (78536295)Pin
Messages
Known Issues
Clicking the reply bubble in a Business Chat conversation might produce unexpected results. (76702989)
Workaround: Use Business Chat on iPhone.
Music
Known Issues
The share item might not appear in the contextual menu for songs and albums. (78037998)
You might be unable to play Lossless or Spatial Audio tracks via Siri. (78277808)
Networking
New Features in macOS Monterey 12 beta
The default
Accept-Language
header thatURLSession
sends has an updated format and corrected values for multiple locales. In addition to the preferred language, the header also includes the current system language as a fallback if it differs from the preferred language. This behavior effects apps with links against macOS Monterey 12, iOS 15, tvOS 15, and watchOS 8 SDKs. (38772422)URLSession
now includesasync
functions. (68890254)For example, a one-shot fetch:
let (data, response) = try await URLSession.shared.data(from: URL(string: "https://www.apple.com")!)if let httpResponse = response as? HTTPURLResponse, httpResponse.statusCode == 200 { // Use data.}
And support for an
Async
stream of bytes:Sequence let (bytes, response) = try await URLSession.shared.bytes(with: URL(string: "https://www.apple.com")!)if let httpResponse = response as? HTTPURLResponse, httpResponse.statusCode == 200 { for try await line in bytes.lines() { // Parse line. }}
Deprecations
Support for cleartext HTTP URL schemes for Proxy Automatic Configuration (PAC) is now deprecated. Use only HTTPS URL schemes for PAC. This affects all PAC configurations including, but not limited to, configurations set via Settings, System Preferences, profiles, and
URLSession
APIs such asconnection
, andProxy Dictionary CFNetwork
. If you configure a cleartext HTTP PAC URL, the system may upgrade it to HTTPS during PAC file loads. Web Proxy Auto-Discovery (WPAD) Protocol via DNS isn’t affected. Dynamic Host Configuration Protocol (DHCP) Option 252 WPAD may attempt to upgrade cleartext HTTP URLs to HTTPS during PAC file loads. (61981845)Execute Proxy Auto Configuration URL(_: _: _: _:)
Notes
Known Issues
The Quick Note hot corner can’t be configured from the Hot Corners sheet in Desktop & Screen Saver preferences. (77272604)
Workaround: Configure the Quick Note hot corner using System Preferences > Mission Control > Hot Corners.
Photos
Known Issues
“Shared with You” might appear even when the Automatic Sharing switch in Messages is turned off. (78181276)
Python
Known Issues
A prompt informing you about the deprecation of Python 2.7 might appear multiple times, and the name of the app indicated in the prompt might be inaccurate. (78719958)
RealityKit
Known Issues
The
Photogrammetry
init onSession .Streaming Input Photogrammetry
isn’t supported. (78838906)Session Requesting a
Bounding
with aBox Photogrammetry
usingSession .Request .bounds process(requests:)
won’t produce a correct bounding box unless the.bounds
request is the first request in the array. (78325791)Workaround: Ensure any
.bounds
requests are always the first request in the array toprocess(requests:)
.
Deprecations
The
output
Combine publisher property for the message stream is deprecated. ThePhotogrammetry
property which uses the new Swift featureSession .outputs Async
replaces it. (78319158)Sequence
Safari
Known Issues
Safari might not load websites as expected when Hide IP address from trackers is on. (78529425)
Workaround: Refresh the page, or uncheck Hide IP address from trackers under Safari > Preferences > Privacy.
Text in the Smart Search field might appear faded. (78407518)
Shazam
Known Issues
The
songs
property is only available when compiling against devices as an extension ofSHMatched
. (78589271)Media Item
Shortcuts
Known Issues
The Shortcuts command-line tool doesn’t support signing. (74999291)
Apps running under Rosetta 2 might become unresponsive if Shortcuts are enabled for the Services menu. (78134762)
Shortcuts isn’t scriptable. (78609585)
Swift
New Features in macOS Monterey 12 beta
Attributed
is now available with the same character-counting behavior as SwiftString string
. It is fully localizable, and also includes support for Markdown, Codable, strongly typed attributes, and more. (27227292)Notification
includes theCenter Async
API for receiving notifications using async/await. (74401384)Sequence for await note in NotificationCenter.default.notifications(named: .MyNote) { // use note.}
SwiftUI
New Features in macOS Monterey 12 beta
You can create
Text
from anAttributed
structure.String Text
respects the styles you provide through attributes within the SwiftUI attribute scope; these styles take precedence over styles you provide through view modifiers. (74841755)Localized
can now contain Markdown syntax. The system parses Markdown strings when you create aString Key Text
view from aLocalized
, includingString Key Text
views created with a string literal. The system stylesText
according to Markdown constructs. (74515884)Specific kinds of animations now execute off the main thread, so there are new thread-safety requirements. (70524799) Ensure the following functions and types are thread-safe:
All methods and accessors of types conforming to these protocols:
Alignment
,ID Animatable
,Environment
,Key Environment
,Values Equatable
,Geometry
,Effect Hashable
,Identifiable
,Preference
,Key Shape
,Vector
.Arithmetic Any closures you pass to the following types and functions, but only if the views that created them don’t have references to
Observable
types:Object For
,Each Geometry
,Reader background
,Preference Value(_: _:) overlay
,Preference Value(_: _:) transform
,Preference(_: _:) anchor
,Preference(key: value: transform:) transform
,Anchor Preference(key: value: transform:) transform
,Environment(_: transform:) transaction(_:)
.
A
Text
provided anField NSFormatter
now updates its binding as the user types.NSFormatter
formats the text of the field when the user submits the field, or when focus moves away from the field. (67899823)The
global
coordinate space on macOS is now the top left corner of the window, consistent with other platforms. On previous versions of macOS, or when linked on a SDK prior to 12, theglobal
space has a flipped origin of the bottom left corner of the window. Check for its uses in conjunction with components such asGeometry
. (65037389)Reader Plain text fields will no longer draw focus rings. (51896032)
Sidebars in Mac Catalyst now have a material background and a native row height. (65388682)
A
Disclosure
now toggles its expansion when tapping on the entire row. (62208702)Group
Resolved in macOS Monterey 12 beta
Fixed an issue that occurred when creating a
Color
from aUIColor
or anNSColor
. This process now uses the explicitinit(ui
orColor:) init(ns
initializers. Give preference to theColor:) Color
standard-system colors over the equivalent fromUIColor
orNSColor
. For example, useblue
over the visually equivalentsystem
. (73987059)Blue Fixed an issue that dispatched a callback for
on
andAppear(perform:) on
when any of the views in a group of multiple views appeared or disappeared. Now, when you apply them to a group of multiple views,Disappear(perform:) on
andAppear(perform:) on
only dispatch the callback each time the first view appears and the last view disappears. (75609476)Disappear(perform:) Fixed an issue with labeled views that distributed the space in the view equally between controls. When laid out horizontally, labeled views now prioritize displaying the label fully before distributing space to the rest of the controls. (74728764)
Fixed asset catalog images with the Preserve Vector Representation option set so the images work correctly when resized by re-rendering from their vector source. (49074629)
Symbol images in Widgets and watchOS complications are now redrawn from their vector outlines, avoiding pixellation. (50464514)
Updated
Background
and the newStyle background
modifier to include desktop tinting in Dark Mode as expected. (71062814)Fixed keyboard shortcuts using an uppercase key so they no longer have an implicitly added ⇧ modifier. (68047066)
An app using the SwiftUI app lifecycle will no longer attempt to load the main storyboard file if one is set in the
Info
file. (72819768).plist Commands
bodies are now automatically updated in response to changes in dynamic property values used in the body definition. Types likeState
andFocused
can now be used to create dynamic dependencies in command content. (64788135)Value Fixed bordered buttons so they are clickable only by their label, not by the button chrome. (78192660)
Updated Sheets to dismiss using the proper animation. (66393848)
Fixed
file
andImporter file
to properly present when used in aExporter Commands
context. (77531659)Fixed nested
Scroll
with orthogonal scrolling directions, like a horizontalViews Scroll
inside of a verticalView Scroll
, to scroll as expected. (54849400)View
Deprecations
Fn
(Function
) shortcut modifier is deprecated and reserved for system usage. (78627099)
Known Issues
If you create a
Text
view from anAttributed
that contains a morphology attribute and then interpolate theString Text
view inside aLocalized
, the attributes of theString Key Attributed
don’t affect the displayed text. (78914478)String For example:
Text("\(Text(attributedString)) friend(s)")
Async
inImage List
sometimes cancels image downloads prematurely. (78187465)A
Text
in aField For
might update the incorrect text binding. (78168257)Each Providing a binding to an
Outline
might require includingGroup wrapped
in theValue init(_:
key path parameter, and won’t back-deploy to earlier releases. (77890799)children: content:) Borderless
andButton Menu Style Bordered
aren’t available as static members. Syntax such asButton Menu Style .menu
doesn’t currently compile. (78606888)Style(.button) Workaround: Provide the initialized style type instead; for example, .
menu
.Style(Borderless Button Menu Style()) Focusing a view in a newly added
List
row usingFocus
requires deferring the update to the focus state property to the next time the main runloop runs. (78607356)State
TabularData
New Features in macOS Monterey 12 beta
TabularData is a new Swift framework you use to analyze and manipulate tabular data. You can use
Data
to read CSV and JSON files, as well as join, group, and aggregate data. (69982458)Frame
Translation
Known Issues
System-wide translation sends requests to the server, even if On-Device Mode is on. (75374469)
Virtualization
New Features in macOS Monterey 12 beta
Interfaces that previously took
unsigned long long
arguments or returnedunsigned long long
results have been updated to use theuint64
type instead. (77291339)_t
Known Issues
A
VZVirtual
configured with an audio device terminates unexpectedly when audio begins. (77870970)Machine Docker might display a Linux kernel panic on launch. (78549867)
Workaround: Don’t enable the new virtualization framework in Experimental Features. If Docker was already set up before updating to macOS Monterey 12 beta, choose “Reset Docker to factory defaults” when the Fatal Error appears.
WebKit
Known Issues
ASAuthorization
unexpectedly providesSecurity Key Public Key Credential Assertion Request ASAuthorization
instead ofPlatform Public Key Credential Assertion ASAuthorization
. (76554090)Security Key Public Key Credential Assertion Workaround: Use the decoded contents of
.raw
to distinguish credentials.Authenticator Data
Post a Comment