Release Notes zu macOS 27: Deprecations, Brüche und Fixes
macOS 27 Golden Gate ist am Montag, dem 14. September 2026, als Build 26A428 erschienen, und sein SDK, Build 26A425, kam am selben Tag mit Xcode 27 (27A266a). Apples Release Notes dazu umfassen 86 Bereiche mit Überschrift und 272 Einträge: 68 neue Funktionen, 173 behobene Probleme, 18 bekannte Probleme und 13 Deprecations. Dieser Beitrag liest sie aus Sicht der Mac-Entwicklung: die Einträge, die das Verhalten einer App ändern, sobald sie gegen das 27er SDK gelinkt ist, die Änderungen auf Betriebssystemebene, die ganz ohne Neubau zuschlagen, die 13 Deprecations, geprüft an den Headern und Swift-Interfaces des SDKs selbst, und was ich auf einem Mac, der noch mit 26.6.2 läuft, verifizieren konnte und was nicht. Der Beitrag zum GA-Release von Golden Gate behandelt Rosetta und die arm64-Vorgabe des Installers; dieser hier behandelt den Rest.123
Das Wichtigste in Kürze
- Builds. Gerät 26A428, SDK 26A425; die SDK-Nummer ist nicht die Gerätenummer, was zählt, sobald ein Bug-Report nach einer fragt. Apples Index der Release Notes und der Releases-Feed führen mit Stand 26. September kein macOS 27.0.1; die neuesten Einträge sind 27 und die 27.2 Beta 2 (26B5091g) vom 21. September.137
- Linked-on-27-Verhalten. Dreizehn Änderungen verändern das Verhalten einer App in dem Moment, in dem sie gegen das 27er SDK gelinkt ist: ausgeblendete Menübilder ohne Symbol und das Ende der Ausnahme für reine Bildeinträge;
NSOpenPanel, dascanChooseFilesaus den Inhaltstypen ableitet; der Menüeintrag Layout Orientation, der unter Font wandert; Titelleisten-Accessories, die über ihre Grenzen hinaus zeichnen;TextField-Prompts, die Styling übernehmen;TextRendererauf selektierbaremText; in Sheets und Popovers zurückgesetzte Control-Modifier; die Safe-Area-Rechnung voncontainerRelativeFrame;LabeledContentals Untertitel im Menü;TabViewin Inspektoren mit dem Tabs-Stil;List, das Drops annimmt, die es früher abgewiesen hat;newDocument, das ein Dokument im Speicher entgegennimmt; und für Mac Catalyst die Scene-Lifecycle-Vorgabe und die erweiterte Zustandswiederherstellung.2 - Kein Neubau nötig. Symbolbilder in Menüeinträgen verschwinden bei jeder App, die gegen macOS 26.0 oder neuer gelinkt ist, und in SwiftUI- und UIKit-Menüs ganz ohne SDK-Bedingung; Gesture Recognizer werden exklusiv für die erste per Hit-Test getroffene View-Hierarchie, hängende Gesten brechen sich selbst ab, das Basis-
locationInView:liefertNSZeroPoint,launchdlädt laut Liste keine Property Lists mit Quarantäne-Attribut mehr, der direkte Zugriff auf die TCC-Datenbank endet, teamübergreifender Container-Zugriff wird ohne Abfrage verweigert, XProtect kann App-Daten abschirmen, MDM- und Softwareupdate-Verkehr braucht TLS 1.2 mit ATS-tauglichen Cipher Suites, und Apps, die ein Benutzer auf „Open using Rosetta“ gestellt hat, starten nativ.2 - 13 Deprecations, vier davon API.
PHAssetResource.originalFilenamewarnt erst bei einem Deployment-Target von 27.0 (macos(10.15, 27)im Header);FileDocumentträgt die weiche Version100000.0und warnt nie;calendar.deleteEventsist aus dem App-Intents-Interface verschwunden, der alte Name kompiliert also nicht mehr;DVDPlaybacksteckt entgegen der Note weiterhin im 27.0 SDK, als Stub mit Headern und Modul, warnt unterhalb eines 27.0-Minimums und scheitert bei diesem. Die übrigen neun betreffen Betriebssystemverhalten, Apps, Formate oder Beta-Überbleibsel, keine API.23 - Das SDK bestätigt das neue AppKit.
NSRefreshController,NSTextSelectionManager, dierole-Properties mitNSToolbarItemGroup.RoleundNSSegmentedControlRole,preferredImageVisibility,cancellableByScrollGestureund die OptionNSApplicationPresentationDisableScreenCornerInteractionssind alle mitmacos(27.0)annotiert; die FrameworksDiskImageKitundNowPlayingsind vorhanden;Systemhat seinen TypStat; StoreKit hatassignedundBundledSubscription, und wo die NotesassignmentRevokedschreiben, steht im InterfaceassignmentRevocation.3
Welcher Build ist welcher?
| Wo | Build | Beleg |
|---|---|---|
| Gerät, macOS 27.0 | 26A428 | Releases-Feed, Mon, Sep 14, 20261 |
| SDK in Xcode 27 (27A266a) | 26A425 | MacOSX27.0.sdk/System/Library/CoreServices/SystemVersion.plist, ProductBuildVersion3 |
| macOS 27.2 Beta 2 | 26B5091g | Releases-Feed, Mon, Sep 21, 20261 |
| macOS 27.0.1 | keiner | Mit Stand 26. September weder im Releases-Feed noch im Index der macOS-Release-Notes17 |
| App Store Connect | 27.0-GA-SDK angenommen | „You can now upload apps built with Xcode 27 using the SDK for iOS 27.0, iPadOS 27.0, macOS 27.0, tvOS 27.0, visionOS 27.0, and watchOS 27.0 for the App Store, and for internal and external testing through TestFlight.“ (Apps, die mit Xcode 27 und den 27.0-SDKs gebaut sind, lassen sich jetzt für den App Store und für interne und externe Tests über TestFlight hochladen.) 14. September6 |
Die Notes beginnen mit zwei Sätzen zum Umfang, „The macOS 27 SDK provides support to develop apps for Mac computers running macOS 27 Golden Gate. The SDK comes bundled with Xcode 27, available from the Mac App Store,“ (das SDK für Mac-Apps unter macOS 27 Golden Gate liegt Xcode 27 bei, erhältlich im Mac App Store) und gehen dann 86 Bereiche mit Überschrift durch. Wer die Listenpunkte unter jeder Überschrift zählt, kommt auf 68 neue Funktionen, 173 behobene Probleme, 18 bekannte Probleme und 13 Deprecations. Auf Siri entfallen 26 behobene und sechs bekannte, auf SwiftUI 21 neue und 19 behobene, auf AppKit acht neue und 18 behobene, auf Core AI 11 behobene und auf StoreKit Testing in Xcode 10 behobene und zwei bekannte.2 Der Beitrag zu den iOS-27-Notes behandelt die iPhone-Seite, wo dieselben SwiftUI-Einträge mit iOS-Wortlaut auftauchen; der Beitrag zu Xcode 27 behandelt die Toolchain.
Die Notes zur 27.2 Beta 2 vom 21. September sind kurz: ein Absturz der Codevervollständigung in Xcode als behoben gelistet, eine AppKit-Deprecation („The EnablePasteboardPrivacyDeveloperPreview user default has been removed.“, also: der User Default wurde entfernt), ein bekanntes Problem bei Notifications nach Neuinstallationen, ein bekanntes Problem bei Shortcuts, die beiden unten genannten bekannten Probleme bei StoreKit Testing, die nun als behoben gelten, sowie ein neuer StoreKit-Testing-Fix für die Berechtigung zu Einführungsangeboten nach SKTestSession.clearTransactions(). Abgesehen von diesen StoreKit-Testing-Einträgen berührt nichts davon die 27.0-Einträge in diesem Beitrag.4
Was ändert sich in dem Moment, in dem Sie gegen das macOS 27 SDK linken?
Apple koppelt Verhaltensänderungen an das SDK, gegen das eine App gelinkt ist; am bereits ausgelieferten Build ändern sie also nichts, und alle greifen beim ersten Archiv aus Xcode 27. Zu jedem Punkt die jeweilige Note im Wortlaut:2
- Menübilder ohne Symbol und die Ausnahme für leere Titel. Die unten beschriebene Änderung an Symbolbildern braucht keinen Neubau; den Rest bringt der Neubau. „For applications linked on the macOS 27 SDK, both symbol and non-symbol menu item images are now automatically hidden. For applications linked on earlier SDKs, non-symbol images remain automatically visible, preserving compatibility with existing application behavior.“ (Mit dem 27er SDK werden Symbolbilder und andere Bilder in Menüeinträgen automatisch ausgeblendet; mit älteren SDKs bleiben Bilder ohne Symbol sichtbar.) Und umgekehrt für alte Builds: „For applications linked on SDKs prior to macOS 27, NSMenu now automatically shows menu item images if the menu item title and attributed title are both empty. This preserves existing application behavior when the image is the only representation of the menu item content. When linking against the macOS 27 SDK, these images will automatically be hidden.“ (Mit älteren SDKs zeigt NSMenu das Bild, wenn Titel und Attributed Title leer sind; mit dem 27er SDK wird auch dieses Bild ausgeblendet.) Ein reiner Bildeintrag braucht nach dem Neubau
preferredImageVisibilityauf.visible. Mein Beitrag zu Menübildern geht die Prüfung durch. - Open Panels leiten ihre Auswahlarten ab. Als behoben gelistet: „In apps built with the macOS 27.0 SDK, setting
allowedContentTypesandtreatsFilePackagesAsDirectoriesonNSOpenPaneupdatescanChooseFilesandcanChooseDirectoriesbased on whether the requested types are file or directory types.“ (Das Setzen dieser beiden Properties aktualisiertcanChooseFilesundcanChooseDirectoriesdanach, ob die angefragten Typen Datei- oder Ordnertypen sind.) (Die Note schreibt den Klassennamen falsch.) Ein Open Panel, das Inhaltstypen setzt und sich dann auf ein explizitescanChooseDirectories = trueverlassen hat, ist das Muster für einen erneuten Test. - Layout Orientation zieht um. „NSTextView’s
menuForEvent:now returns a context menu in which the Layout Orientation menu item, and its submenu, are located inside the Font submenu. Because this change can cause compatibility issues with some shipping applications, it applies only to applications linked on the macOS 27 SDK.“ (Der Eintrag Layout Orientation samt Untermenü liegt jetzt im Untermenü Font; wegen möglicher Kompatibilitätsprobleme gilt das nur für Apps, die gegen das macOS 27 SDK gelinkt sind.) Code, der diesen Eintrag durch Ablaufen des Menüs findet, bricht beim Neubau. - Titelleisten-Accessories ragen hinaus. „When an app is linked on macOS 27.0 or later,
NSTitlebarAccessoryViewControlleris now allowed to draw outside its bounds by default, supporting effects such as shadows and interactive glass effects. During reveal animations, accessories might be clipped for the duration of the animation or when the accessory ishidden.“ (Der Controller darf standardmäßig außerhalb seiner Grenzen zeichnen, etwa für Schatten und Glaseffekte; während Einblendanimationen kann er beschnitten werden.) TextField-Prompts übernehmen Styling. „In apps built with the macOS 27.0 SDK,TextFieldrespects custom font and color styling applied to its prompt. Apply styling to theTextprovided toTextField’spromptparameter at initialization.“ (TextFieldbeachtet Schrift und Farbe des Prompts; das Styling gehört an denText, der beim Initialisieren alspromptübergeben wird.)- Selektierbarer
TextbekommtTextRenderer. „In apps built with the iOS 27.0 and macOS 27.0 SDKs, selectableTextviews now supportTextRenderer,“ und der behobene Eintrag daneben sagt, ein eigener Renderer „now takes effect on aTextview that also has.textSelection(.enabled)applied.“ (wirkt jetzt auch auf eineText-View mit.textSelection(.enabled).) - Sheets und Popovers. Als behoben gelistet: „In apps built with the 27.0 SDKs, the
controlSize,buttonSizing,buttonRepeatBehavior,menuIndicatorVisibility, andButtonBorderShapeenvironment values are now reset to their default values in sheets and popovers.“ (Diese Environment-Werte werden in Sheets und Popovers auf ihre Standardwerte zurückgesetzt.) Hat ein Sheet bisher.controlSize(.large)von seinem Presenter geerbt, tut es das nicht mehr. containerRelativeFrame. Für 27.0-Builds als behoben gelistet: Es „incorrectly accounts for safe-area insets on aScrollView’s non-scrollable axis, causing the calculated scrollable content size to be too small.“ (berücksichtigt Safe-Area-Insets auf der nicht scrollbaren Achse fälschlich, sodass die berechnete scrollbare Inhaltsgröße zu klein ausfällt.) Die Richtung des Eintrags ist unklar, denn sein Beispiel beschreibt Inhalt, der in die Safe Area hineinreicht, statt zu schrumpfen; testen Sie jedescontainerRelativeFramein einerScrollViewnach dem Neubau erneut.- Menüs bekommen Untertitel. „In apps built with the 27.0 SDKs, a
LabeledContentview used inside aMenumaps its value to the platform menu item’s subtitle.“ (EinLabeledContentin einemMenulegt seinen Wert in den Untertitel des Menüeintrags.) TabViews in Inspektoren. „In apps built with the latest SDKs, the appearance ofTabViewsin inspectors now matches their appearance in sidebars, and in both contexts automatically uses the new.tabspicker style.“ (In Inspektoren sehenTabViewsjetzt aus wie in Seitenleisten und nutzen in beiden Fällen automatisch den neuen Picker-Stil.tabs.)Listnimmt mehr Drops an. „In macOS apps built with the macOS 27 SDK,Listaccepts drops in two cases that previously didn’t work: drags with compatible transfer representations are accepted into reorderable content even when the.reorderableItemtransfer type isn’t present, and a.dropDestination(...)modifier declared on a list item now performs the drop.“ (Listnimmt jetzt in zwei bisher nicht funktionierenden Fällen Drops an: kompatible Transfer-Repräsentationen in umsortierbaren Inhalt auch ohne.reorderableItem, und ein.dropDestination(...)an einem Listeneintrag führt den Drop jetzt aus.) Ein Drop-Handler, der auf dem Mac nie ausgelöst wurde, kann jetzt anspringen.newDocumentnimmt eine Instanz. „In macOS apps built with the macOS 27 SDK, the action retrieved from the\.newDocumentenvironment value accepts an in-memoryReadableDocumentproduced by an autoclosure. SwiftUI presents a new document window populated with the supplied instance, instead of invoking the document group’s default factory.“ (Die Aktion nimmt einReadableDocumentim Speicher aus einer Autoclosure entgegen, und SwiftUI öffnet damit ein neues Dokumentfenster, statt die Standard-Factory der Dokumentgruppe aufzurufen.)- Mac Catalyst. Unter den UIKit-Deprecations: „Apps built with the latest SDK must adopt the scene-based life cycle or they fail to launch,“ (Apps mit dem neuesten SDK müssen den szenenbasierten Lebenszyklus übernehmen, sonst starten sie nicht) dieselbe Vorgabe, die der Beitrag zur Scene-Vorgabe für iOS behandelt, und „When linked on iOS 27, tvOS 27, macCatalyst 27, or visionOS 27 SDKs, you can use
UIScene.extendStateRestorationandUIScene.completeStateRestorationto extend state restoration“ bis in den Übergang vom Hintergrund in den Vordergrund. Getrennt davon und ohne SDK-Bedingung: „Catalyst apps now behave like AppKit apps when you switch to them with no open windows“ (Catalyst-Apps verhalten sich beim Wechsel ohne offene Fenster jetzt wie AppKit-Apps); sie legen kein Fenster mehr an, außer sie werden aus dem Dock oder aus Spotlight aktiviert.
Zwei Einträge, einer unter SwiftUI und einer unter Swift Charts, gehören hierher, obwohl sie am Compiler hängen statt am Linken. Die Neufassung des @State-Makros „back-deploys to iOS 17 aligned OSes“ (wird bis zu den mit iOS 17 abgestimmten Betriebssystemen zurückportiert) und ändert, was unter Xcode 27 kompiliert: Manche Deklarationen, die einen Anfangswert tragen und zusätzlich in init zuweisen, kompilieren nicht mehr, in Apples Worten „some such cases“ (manche solcher Fälle), und der synthetisierte private Initializer entfällt. Der Beitrag zum @State-Makro enthält die Prüfung. Der Swift-Charts-Eintrag, als behoben gelistet, beschreibt eine Warnung und einen möglichen Absturz zur Laufzeit: „When your project has a minimum deployment target lower than 27.0, using conditionals inside a Chart closure produces the warning“ zur _ConditionalContent-Konformität, „and the app might crash at runtime when that content is loaded.“ (Bei einem Deployment-Target unter 27.0 erzeugen Bedingungen in einer Chart-Closure eine Warnung, und die App kann beim Laden dieses Inhalts abstürzen.) Die zitierte Warnung enthält einen leeren Plattformnamen, was nach einer Diagnose aus den Betas aussieht, und ich konnte sie nicht reproduzieren: Ein Chart, dessen Closure per if zwischen einem BarMark und einem LineMark verzweigt, bestand am 26. September den Typecheck gegen das 27.0 SDK ohne jede Diagnose, sowohl bei einem Deployment-Target von 26.0 als auch von 27.0. Die Absturzhälfte des Eintrags ist Apples Text und bleibt hier ungetestet.23
Was ändert sich ganz ohne Neubau?
Die andere Hälfte der Notes beschreibt das Betriebssystem, und diese Punkte gelten für die Binärdatei, die Sie letztes Jahr ausgeliefert haben.2
- Menü-Symbolbilder verschwinden. AppKit: „By default,
NSMenuhides all menu item symbol images“ (standardmäßig blendetNSMenualle Symbolbilder in Menüeinträgen aus), und die Änderung gilt „to applications linked on macOS 26.0 and later“ (für Apps, die gegen macOS 26.0 oder neuer gelinkt sind); ein Build aus Xcode 26 verliert seine Symbolbilder auf einem 27er-Rechner also ohne Neubau.preferredImageVisibilityanNSMenuItem,API_AVAILABLE(macos(27.0)), ist die Übersteuerung, und die Checkbox „macOS 26.0 only“ im Xib-Inspektor ist der zweite Schalter. SwiftUI: „By default, SwiftUI now hides all menu item symbol images in most contexts, while non-symbol images remain visible,“ (SwiftUI blendet Symbolbilder in Menüeinträgen in den meisten Kontexten aus, andere Bilder bleiben sichtbar) mitlabelStyle(_:)und.titleAndIconals Schalter zum Behalten und ohne SDK-Bedingung im Eintrag. UIKit: „On iPadOS 27.0 and macOS 27.0, the menu bar and context menus present a reduced set of menu item images and do not display images set on menu elements by default,“ (Menüleiste und Kontextmenüs zeigen weniger Bilder und standardmäßig keine an Menüelementen gesetzten Bilder) mitpreferredImageVisibilityanUIMenuElementund wiederum ohne SDK-Bedingung. Der Header stützt die Lesart als Betriebssystemverhalten: Der Kommentar zuNSMenuItem.imagesagt, dass „in macOS 27 and later, AppKit determines the visibility of menu item images, and will typically hide images.“ (ab macOS 27 entscheidet AppKit über die Sichtbarkeit und blendet Bilder in der Regel aus.)3 - Gesten werden exklusiv. „Only the initial hit-tested view hierarchy will activate gesture recognizers until all gestures terminate. A new
exclusiveGestureBehaviorproperty onNSViewallows you to opt-out of this exclusive behavior on a per-view-hierarchy basis. Further, theInfo.plistkeyNSViewGestureRecognizerIsExclusiveallows you to opt-out for the entire app.“ (Bis alle Gesten enden, aktiviert nur die zuerst per Hit-Test getroffene View-Hierarchie Gesture Recognizer;exclusiveGestureBehaviorschaltet das pro Hierarchie ab, derInfo.plist-Schlüssel für die ganze App.) Ein begleitender Schlüssel,NSGestureRecognizerSuppressesMainMenuActions, lässt Hauptmenü-Aktionen während einer aktiven Geste auslösen, und „stuck gestures are automatically cancelled after user input has ended for a few seconds,“ (hängende Gesten werden einige Sekunden nach Ende der Benutzereingabe automatisch abgebrochen) wobei der DefaultNSCrashOnStuckGestureTimeoutdaraus beim Debuggen einen Absturz macht. Ein Recognizer an einer Eltern-View, der früher neben dem eines Kinds ausgelöst hat, wartet jetzt. - Eigene Recognizer müssen sich selbst verorten. Als behoben gelistet: Das Basis-
locationInView:vonNSGestureRecognizer„now returnsNSZeroPointand logs an error pointing the developer at the missing override. CustomNSGestureRecognizersubclasses must provide their ownlocationInView:implementation.“ (liefert jetztNSZeroPointund protokolliert einen Fehler, der auf die fehlende Überschreibung hinweist; eigene Subklassen müssenlocationInView:selbst implementieren.) Ein separater Eintrag beschreibt den Diagnose-DefaultNSGestureRecognizerCrashOnMissingOverridesals Hilfe „to help developers findNSGestureRecognizersubclasses that are missing required overrides to ensure that they always reach a terminal state“ (um Subklassen zu finden, denen Überschreibungen fehlen, die einen Endzustand garantieren); ob er auch ein fehlendeslocationInView:abfängt, sagen die Notes nicht. UndNSClickGestureRecognizers„with a click count greater than 1 will send an action before their multi-click timeout has elapsed.“ (mit mehr als einem Klick senden ihre Aktion schon vor Ablauf des Mehrfachklick-Timeouts.) launchdund Quarantäne. Als behoben gelistet: „launchdno longer supports loadinglaunchdproperty list files with the quarantine extended attribute.“ (launchdlädt keine Property-List-Dateien mit dem erweiterten Quarantäne-Attribut mehr.) Apples behobene Einträge beschreiben mal den alten Bug, mal die neue Regel; als Regel gelesen hört eine heruntergeladene Agent-plist, die mit dem Attribut installiert wurde, auf zu laden.- TCC. Unter Deprecations: „Apps can no longer access the local TCC database directly.“ (Apps können nicht mehr direkt auf die lokale TCC-Datenbank zugreifen.)
- Container und XProtect. Unter System Integrity Protection: „Accessing files in other developer teams’ app data containers and app group containers no longer prompts the user for authorization; such accesses are denied by default and can be managed by the user in Privacy & Security settings.“ (Zugriffe auf Container anderer Entwicklerteams lösen keine Abfrage mehr aus, sondern werden standardmäßig verweigert und lassen sich unter Privacy & Security verwalten.) Und: „XProtect may now restrict access to app data that is commonly targeted by malicious software.“ (XProtect kann den Zugriff auf App-Daten einschränken, die häufig Ziel von Schadsoftware sind.) Das bekannte Problem unter Privacy & Security ergänzt, dass „a process without a bundle ID cannot be granted access to specific app data containers or app group containers owned by other developer teams,“ (einem Prozess ohne Bundle-ID kein Zugriff auf bestimmte Container anderer Teams gewährt werden kann) mit Full Disk Access als Ausweg.
- TLS für verwalteten Verkehr. „Starting in 27.0 operating systems, select system processes now enforce stricter network security (TLS) requirements,“ (ab den 27.0-Betriebssystemen erzwingen ausgewählte Systemprozesse strengere TLS-Anforderungen) genannt werden MDM, DDM, Automated Device Enrollment, Profilinstallation, App-Installation und Softwareupdates; „Servers must support TLS 1.2 at minimum, using cipher suites and certificates that meet App Transport Security (ATS) requirements.“ (Server müssen mindestens TLS 1.2 mit ATS-konformen Cipher Suites und Zertifikaten unterstützen.) Das TLS-Audit enthält die Checkliste.
- Rosetta. „On launch, Applications previously set to “Open using Rosetta” by a user will have the application launch natively,“ (Apps, die ein Benutzer auf „Open using Rosetta“ gestellt hat, starten nativ) „If Rosetta was previously installed, it is not automatically restored after upgrading to macOS 27.0,“ (ein zuvor installiertes Rosetta wird nach dem Upgrade nicht automatisch wiederhergestellt) und Installer-Pakete ohne
hostArchitecture„will now default to arm64.“ (verwenden jetzt standardmäßig arm64.) Der GA-Beitrag reproduziert die Installer-Vorgabe auf 26.6.2. - Neural Engine im Hintergrund. Der Eintrag steht auf der macOS-Seite und beginnt mit „iOS 27 includes Neural Engine improvements for Apple Intelligence capable devices,“ lesen Sie ihn also als plattformübergreifende Note: „The system now restricts background access to the Neural Engine, similar to GPU usage restrictions,“ (das System beschränkt den Hintergrundzugriff auf die Neural Engine, ähnlich wie bei der GPU) und „Neural Engine memory usage is now attributed to your app process instead of the system, and appears in the Allocations instrument.“ (der Speicherverbrauch der Neural Engine wird jetzt Ihrem App-Prozess zugerechnet und erscheint im Instrument Allocations.) Ein zweiter Core-AI-Eintrag sagt, der Hintergrundzugriff „requires the new entitlement: “com.apple.developer.background-tasks.continued-processing.inference”.“ (erfordert das neue Entitlement.)
- Log-Archive. „Unified Logging System archives generated on 27.0 releases cannot be read on macOS 26.1 or earlier due to an updated archive format. macOS 26.2 or later is required to read these archives.“ (Wegen eines neuen Formats lassen sich auf 27.0 erzeugte Archive erst ab macOS 26.2 lesen.) Eine Support-Pipeline, die
.logarchive-Bundles von Kunden auf einem älteren Mac öffnet, braucht mindestens 26.2. - File Promises prüfen per Assertion. Als behoben gelistet:
receivePromisedFilesAtDestination:„asserts that it is called during-prepareForDragOperation:,-performDragOperation:, or-concludeDragOperation:. IfreceivePromisedFilesAtDestination:...is called at other times, your application will throw an exception and terminate.“ (prüft per Assertion, dass es während einer dieser drei Drag-Methoden aufgerufen wird; zu anderen Zeiten wirft die App eine Exception und beendet sich.) Ein Empfänger, der den Aufruf auf einen späteren Run-Loop-Durchlauf verschoben hat, beendet sich jetzt.
Welche APIs sind in 27.0 als veraltet markiert?
Die Notes führen 13 Einträge unter Deprecations-Überschriften in 11 Bereichen. Eine Deprecation in einer Release Note ist ein Satz; eine Deprecation im SDK ist eine Verfügbarkeitsannotation, die der Compiler liest, und beide sagen nicht immer dasselbe. Ich habe jeden Eintrag an den Headern und Swift-Interfaces im macOS 27.0 SDK von Xcode 27 geprüft:23
| Eintrag in den Notes | Was das SDK sagt |
|---|---|
„The originalFilename property on PHAssetResource is incorrectly marked as non-nullable, which misrepresents the property value; a new, nullable filename property is available as a replacement.“ (fälschlich als non-nullable markiert; die neue, nullable Property filename ersetzt sie) |
API_DEPRECATED("Use filename instead", ios(9, 27), macos(10.15, 27), tvos(10, 27), visionos(1, 27)) in PHAssetResource.h |
„The FileDocument protocol is deprecated. Use ReadableDocument for read-only documents or Document for documents that support reading and writing.“ (veraltet; ReadableDocument für schreibgeschützte, Document für les- und schreibbare Dokumente) |
@available(macOS, introduced: 11.0, deprecated: 100000.0, message: "Conform your type to Document instead.") an FileDocument: weich, heute keine Warnung. ReadableDocument, WritableDocument und Document stehen alle im Interface |
„The calendar.deleteEvents schema has been renamed to calendar.deleteEvent.“ (umbenannt) |
deleteEvents kommt im macOS-Interface von AppIntents null Mal vor, deleteEvent einmal. Eine Umbenennung ohne Alias ist ein Compilerfehler für jeden, der den alten Namen nutzt |
„The DVDPlayback framework has been removed from the macOS 27 Golden Gate SDK and apps cannot build against it. The framework will be removed in a future macOS release.“ (aus dem SDK entfernt, Apps können nicht mehr dagegen bauen; das Framework selbst fällt in einem künftigen Release weg) |
Auf der Platte nicht aus dem SDK entfernt: MacOSX27.0.sdk/System/Library/Frameworks/DVDPlayback.framework enthält eine .tbd, die 223 verschiedene _DVD-Symbole für die Targets x86_64-macos, arm64e-macos und arm64e.x1-macos exportiert, einen Ordner Headers und eine Module Map. import DVDPlayback besteht den Typecheck bei einem Deployment-Target von 26.0 mit einer Warnung „deprecated in macOS 10.15“ an DVDInitialize(); bei einem Target von 27.0 ist derselbe Aufruf ein Fehler, „unavailable in macOS: No longer supported“. „Cannot build against it“ gilt also bei einem 27.0-Minimum über die Verfügbarkeit, und der Stub ist weiterhin da |
| „Encrypted HFS+ (CoreStorage) is deprecated and will not be supported in a future version of macOS.“ (veraltet, künftig nicht mehr unterstützt) | Ein Dateisystemformat, keine API; sichern Sie auf verschlüsseltes APFS |
| „Apps can no longer access the local TCC database directly.“ | Keine Annotation, sondern eine Richtlinie, die das Betriebssystem durchsetzt |
| „Apps built with the latest SDK must adopt the scene-based life cycle or they fail to launch.“ (UIKit, also Mac Catalyst) | Ein Startfehler, keine Warnung |
| „If Rosetta was previously installed, it is not automatically restored after upgrading to macOS 27.0.“ | Betriebssystemverhalten |
„Installer packages which specify no hostArchitecture will now default to arm64.“ |
Betriebssystemverhalten; auf 26.6.2 im GA-Beitrag reproduziert |
| „Intel-based plugins and loaders may not appear in Settings or trigger notifications of their incompatibility. All Intel-based software will no longer be compatible with macOS 28.0, excluding legacy games.“ (Intel-Plug-ins erscheinen eventuell nicht in den Einstellungen; ab macOS 28.0 ist Intel-Software außer älteren Spielen inkompatibel) | Betriebssystemverhalten; die Plug-in-Ordner, die Apple nennt, sind ~/Library/Audio/Plug-Ins/*, ~/Library/Printers/ und ~/Library/ColorPickers/ |
| „AirPort Utility is no longer included with new clean installations of macOS.“ | Eine App, keine API |
„Meshes compressed using the USDKit export API or usdcrush tool in Beta 1 cannot be decoded by Beta 2, and meshes from Beta 2 cannot be decoded by Beta 1.“ (zwischen Beta 1 und Beta 2 nicht austauschbar) |
Eine Note von Beta zu Beta, die es bis auf die GA-Seite geschafft hat |
| „Weather Highlights is currently only available in US English.“ | Apple führt sie unter Deprecations; sie liest sich wie ein Verfügbarkeitshinweis |
Eine weiche Deprecation steht außerhalb der Deprecations-Überschriften, dieselbe wie in den iOS-Notes: .roundedBorder ist auf macOS deprecated: 100000.0 mit der Meldung „Use textFieldStyle(.bordered) with textInputBorderShape(.roundedRectangle)“, passend zum New-Features-Eintrag, der TextInputBorderShape einführt.3
Die harten sind leiser, als sie aussehen. Der Compiler vergleicht eine Deprecation-Version mit Ihrem Deployment-Target, nicht mit dem SDK, deshalb erzeugt macos(10.15, 27) nur in einem Target mit macOS-Minimum 27.0 eine Warnung. Ich habe eine Datei, die originalFilename liest, einen Typ an FileDocument anpasst und .roundedBorder anwendet, gegen das 27.0 SDK mit zwei Targets typgeprüft: Bei arm64-apple-macos26.0 kompilierte sie ohne jede Diagnose, bei arm64-apple-macos27.0 erzeugte sie genau eine, 'originalFilename' was deprecated in macOS 27: Use filename instead. FileDocument und .roundedBorder blieben bei beiden stumm.3 Eine Mac-App mit einem realistischen Minimum erfährt vom Compiler von keinem dieser Punkte; der grep in der Checkliste unten ist die Benachrichtigung.
Was ist neu und ändert Code, den Sie bereits haben?
Pull-to-Refresh auf dem Mac. „In macOS 27.0, AppKit adds NSRefreshController, providing pull-to-refresh functionality for NSScrollView. You can set it with NSScrollView.refreshController, configure a target or action to handle user-initiated refreshes, and call endRefreshing when the refresh completes or beginRefreshing to start one programmatically.“ (AppKit bringt Pull-to-Refresh für NSScrollView, gesetzt über refreshController, mit Target oder Action für vom Benutzer ausgelöste Aktualisierungen und endRefreshing beziehungsweise beginRefreshing.) Die Klasse und die Property refreshController an NSScrollView sind im SDK beide API_AVAILABLE(macos(27.0)).23
Textauswahl per Geste. „NSTextSelectionManager provides common text selection interactions (click, drag, shift-click, double/triple-click word/line/paragraph selection) to a NSView with a set of NSGestureRecognizers rather than overriding NSEvent mouse methods. NSTextView now uses NSTextSelectionManager“ (die übliche Textauswahl kommt über Gesture Recognizer statt über überschriebene Maus-Methoden, und NSTextView nutzt das jetzt) und „Existing NSTextView subclasses that override mouseDown: continue to work through a binary-compatible fallback path.“ (bestehende Subklassen, die mouseDown: überschreiben, funktionieren über einen binärkompatiblen Fallback weiter.) Die Klasse ist macos(27.0).23 Zusammen mit der Exklusivitätsregel oben heißt das: Eine eigene Text-View, die mouseDown: überschreibt, funktioniert weiter, aber ein Gesture Recognizer, den Sie daneben angebracht haben, weicht jetzt womöglich dem des Managers.
Rollen für Tabs. NSToolbarItemGroup und NSSegmentedControl bekommen eine Property role, bei beiden API_AVAILABLE(macos(27.0)), mit NSToolbarItemGroup.Role (automatic, tabs, valueSelection) und NSSegmentedControlRole; laut den Notes wird eine Rolle tabs „read by VoiceOver as “tabs”“ (von VoiceOver als „tabs“ vorgelesen) und erhält „a distinct visual appearance.“ (ein eigenes Erscheinungsbild.) SwiftUIs TabsPickerStyle ist dieselbe Idee, und Inspektoren übernehmen ihn beim Neubau automatisch.23
Hot Corners aus. „NSApplication.presentationOptions now includes the .disableScreenCornerInteractions option, which you can use to disable Hot Corners.“ (neue Option zum Abschalten der Hot Corners.) Im Header heißt sie NSApplicationPresentationDisableScreenCornerInteractions, API_AVAILABLE(macos(27.0)), Bit 15 der Optionsmaske, und der Kommentar darüber sagt: „.autoHideDock or .hideDock must also be set for this option to take effect.“ (damit die Option wirkt, muss zusätzlich .autoHideDock oder .hideDock gesetzt sein.)23
Dokumente, neu geschrieben. „In apps built with the 27.0 SDKs, the new ReadableDocument and WritableDocument protocols support asynchronous reading and writing, progress reporting, and direct access to document URLs,“ (die neuen Protokolle unterstützen asynchrones Lesen und Schreiben, Fortschrittsmeldungen und direkten Zugriff auf Dokument-URLs) wobei Document beide vereint und FileDocument sowie ReferenceFileDocument „now deprecated“ (jetzt veraltet) sind. Drei Folgeeinträge ändern bestehende Konformitäten: Die Closure makeFileWrapper von FileWrapperDocumentWriter „now receives a second argument, previous: FileWrapper?,“ (erhält jetzt ein zweites Argument) und „Existing call sites must update their closures to accept the new parameter“ (bestehende Aufrufstellen müssen ihre Closures anpassen); die Anforderungen read(from:progress:) und write(content:to:previous:progress:) sind „declared with @concurrent instead of nonisolated,“ also gilt: „Conforming types that previously used nonisolated should switch to @concurrent to match“ (konforme Typen sollten von nonisolated auf @concurrent wechseln); und URLDocumentConfiguration „no longer conforms to Sendable.“ (ist nicht mehr Sendable.) Eine Überladung von fileExporter exportiert eine Sammlung von WritableDocument-Werten in einem einzigen Dialog. Das bekannte Problem im selben Bereich: Der Fortschritt „might not be presented.“ (wird möglicherweise nicht angezeigt.)2
Bilder, Rahmen, Slider, Menüs. „AsyncImage now automatically caches downloaded images using HTTP caching protocols,“ (AsyncImage cacht heruntergeladene Bilder jetzt automatisch per HTTP-Caching) steuerbar über URLRequest-Initializer und View.asyncImageURLSession(_:). TextInputBorderShape und textInputBorderShape(_:) kommen mit dem Stil .bordered. „On macOS, the Slider implementation no longer uses NSSlider,“ (auf macOS verwendet Slider kein NSSlider mehr) und umrandete Menu- und Picker-Buttons „no longer use NSPopUpButton in their implementation,“ (verwenden intern kein NSPopUpButton mehr) sodass eigener Zeichen- oder Accessibility-Code, der das AppKit-Control darunter vorausgesetzt hat, nichts mehr findet. GeometryProxy bekommt concentricCornerRadii und concentricCornerRadii(in:). Die Modifier alert und confirmationDialog mit Datenelement reichen jetzt bis macOS 12.0 zurück.2
StoreKit. „Offer code redemption APIs now return a VerificationResult when redemption completes,“ (die APIs zum Einlösen von Angebotscodes liefern jetzt ein VerificationResult) Transaction.OwnershipType.assigned und Transaction.RevocationType.assignmentRevoked „support volume purchases,“ (unterstützen Volumenkäufe) und „Transaction query methods now additionally return transactions assigned to the Managed Apple Account.“ (Abfragen liefern zusätzlich Transaktionen, die dem verwalteten Apple Account zugewiesen sind.) Product.ProductType erhält Abo-Bundles und Suites mit Product.SubscriptionInfo.BundledSubscription, und partnerName und partnerId landen in den Advanced-Commerce-Infos. Das Interface enthält assigned und BundledSubscription; der Widerrufsfall ist nicht so geschrieben wie in der Note. Keine Datei im SDK enthält assignmentRevoked; das StoreKit-Interface deklariert public static var assignmentRevocation an Transaction.RevocationType, mit dem Rohwert ASSIGNMENT_REVOKE. Der Fall ist @available(macOS 26.4, *) mit @backDeployed(before: macOS 27.0), also besteht .assignmentRevocation bei einem Target von 27.0 den Typecheck und braucht unterhalb dieses Minimums if #available(macOS 26.4, *); der Name aus der Note lässt sich bei keinem Target auf ein Member auflösen. Eine Mac-App, die Transaktionen nach Besitztyp filtert, sieht jetzt einen dritten Wert.23
stat in Swift. „System now provides Swift APIs for the C stat, lstat, fstat, and fstatat system calls,“ (System bietet jetzt Swift-APIs für diese C-Systemaufrufe) mit einem Typ Stat und FilePath.stat(); die Notes listen außerdem einen Konflikt als behoben, bei dem „Custom FilePath or FileDescriptor extensions that make unqualified calls to stat() or stat(_) (without the Darwin. qualification) might conflict with the new Swift stat() instance methods.“ (eigene Extensions mit unqualifizierten stat()-Aufrufen mit den neuen Instanzmethoden kollidieren können.) public struct Stat steht im Interface von System.23
Disk Images, virtuelle Maschinen, Gatekeeper. „The new DiskImageKit framework provides Swift APIs for creating and managing standalone and stacked disk images in the Apple Sparse Image Format (ASIF) and raw disk image formats, for use with the Virtualization framework via VZDiskImageStorageDeviceAttachment.“ (Das neue Framework erstellt und verwaltet einzelne und gestapelte Disk Images in ASIF und Rohformaten für das Virtualization-Framework.) Das Framework ist im SDK. Das vmnet-Port-Forwarding von Virtualization „now support[s] port forwarding when communicating over loopback,“ (funktioniert jetzt auch über Loopback) und spctl bekommt einen Befehl purge, „which will clean up Gatekeeper database entries for apps and executables which are no longer mounted.“ (der Gatekeeper-Datenbankeinträge für nicht mehr eingehängte Apps und Programme bereinigt.) Im Beitrag zu Containern landen die Disk-Image-APIs für alle, die VMs skripten.23
Gamecontroller, Video, Metal. „The PlayStation® Access™ controller is now supported on macOS, iPadOS, and iOS.“ (wird jetzt unterstützt.) VTLowLatencySuperResolutionScalerConfiguration „now supports a 1.5x scale factor,“ (unterstützt jetzt den Faktor 1,5) und die Frame-Interpolation „supports arbitrary source dimensions up to 1080p.“ (unterstützt beliebige Quellmaße bis 1080p.) Zwei Metal-Fixes betreffen Clamp-to-Edge-Sampler, die null zurückgeben, einer davon speziell für „the Apple 10 GPU family.“2
Foundation. Der NSURL-Fix erscheint hier mit demselben Wortlaut wie in den iOS-Notes: „+[NSURL URLWithString:] no longer double-encodes the % of valid percent-escape sequences when encoding other invalid characters.“ (kodiert das % gültiger Escape-Sequenzen nicht mehr doppelt.) Im iOS-Beitrag habe ich gezeigt, dass der Fix dem Betriebssystem folgt, auf dem der Code läuft, und dass ein Mac-Build desselben Codes auf macOS 26.6.2 weiterhin das alte Ergebnis %2520 lieferte; erwarten Sie das neue Ergebnis auf 27.0 und das alte auf jedem 26.x.2
Hardware-Sicherheit. „arm64e.x1 introduces additional hardware security and performance instructions, including CPA2 for stronger MIE protection,“ (zusätzliche Sicherheits- und Leistungsbefehle, darunter CPA2 für stärkeren MIE-Schutz) auf „Mac computers with M6 or later chips“ (Macs mit M6 oder neuer); die Target-Liste des DVDPlayback-Stubs oben zeigt den Slice-Namen in freier Wildbahn. Der Beitrag zu arm64e.x1 behandelt die Build-Einstellung.23
Bekannte Probleme, mit denen Sie planen sollten
photos.asset-Entitäten kompilieren nicht mehr. „Existing entities that conformed to @AppEntity(schema: .photos.asset) in prior releases might no longer compile in the 27 SDKs because new properties were added to the schema in this release.“ (Bestehende Entitäten kompilieren mit den 27er SDKs womöglich nicht mehr, weil das Schema neue Properties bekommen hat.) Der Workaround besteht darin, die Properties hinter einer Verfügbarkeitsprüfung zu übernehmen; der Beitrag zu den iOS-Notes listet die 12 Properties, die der Metadata-Prozessor verlangt, und die macOS-Notes enthalten denselben Eintrag.2- Audio-Schema und Siri. „If you adopt the Audio App Schema domain, you might have trouble playing your content using Siri.“ (Mit der Audio-App-Schema-Domain kann die Wiedergabe über Siri Probleme machen.) Workaround: „Adopt an IntentValueQuery that takes the AudioSearch input, or index your entities in Spotlight.“ (eine IntentValueQuery mit AudioSearch-Eingabe übernehmen oder die Entitäten in Spotlight indexieren.)2
SpotlightSearchToolsprengt das On-Device-Modell. Ohne Konfiguration gilt: „the tool’s description and parameter schema alone exceed the on-device model’s context window before any prompt is added“ (Beschreibung und Parameterschema allein überschreiten das Kontextfenster des On-Device-Modells, bevor überhaupt ein Prompt dazukommt); die Abhilfe ist ein fokussierter Leitfaden wie.focused(.documents).2- Files & Folders für Prozesse ohne Bundle. Einem Prozess ohne Bundle-ID „cannot be granted access to specific app data containers or app group containers owned by other developer teams,“ und Apples Workaround ist Full Disk Access „for the duration of the requirement.“ (für die Dauer des Bedarfs.) Kommandozeilenwerkzeuge, die den Container einer anderen App lesen, sind der typische Fall.2
- Unsignierte Safari-Erweiterungen. Bei ihrer Entwicklung gilt: „unsigned extensions might not appear until rebuilt when using the “Allow Unsigned Extensions” checkbox.“ (unsignierte Erweiterungen erscheinen mit dieser Checkbox eventuell erst nach einem Neubau.)2
- StoreKit-Tests. „Changing the storefront or locale using
SKTestSessiondoesn’t propagate throughStorefront.updates,“ (Storefront- oder Locale-Wechsel überSKTestSessionkommen inStorefront.updatesnicht an) und fehlgeschlagene Käufe „might display error dialogs even whendialogsDisabledis set to true.“ (zeigen eventuell Fehlerdialoge, obwohldialogsDisabledauf true steht.) Beide erscheinen in den Notes zur 27.2 Beta 2 als behoben, die ein neues hinzufügen: Ein Kauf eines Abos innerhalb eines Bundles „incorrectly allows the user to unbundle instead of throwing an error.“ (erlaubt fälschlich das Herauslösen aus dem Bundle, statt einen Fehler zu werfen.)24 - Shortcuts. Ein Intent mit
DurationoderLPLinkMetadata„might fail“ (kann fehlschlagen) unter „Describe a change“, und einUnionValue-Parameter mit zwei Zahlentypen zeigt die Option doppelt; deklarieren Sie nur einen.2 - Startvolume unter macOS 11. „When a Mac is running macOS 11.0, you might not be able to select the boot volume of macOS 27.0 or later as the startup disk in System Settings.“ (Unter macOS 11.0 lässt sich das Volume von macOS 27.0 in System Settings eventuell nicht als Startvolume wählen.) Der Workaround ist die Startauswahl über den Einschaltknopf.2
- Siri, sechs Einträge. Fotoauswahl nach einer Suche, „Ask Siri“ an Stellen, an denen Siri aus ist, keine Sprachbefehle für bestimmte Fotos, unvollständige Maps-Snippets, Zählungen beim Hinzufügen zu Alben und Entitätsbilder ohne SF Symbol, die in Siri-Ergebnissen für Drittanbieter-Apps nicht erscheinen. Den letzten sollten Sie prüfen, wenn Ihre Entitäten eigene Bilder tragen.2
Was ich nicht ausführen konnte
Dieser Mac läuft mit macOS 26.6.2, und ein 27er-Rechner ist nach wie vor das, was mir fehlt. Jedes Verhalten auf Betriebssystemebene in diesem Beitrag ist Apples Text, zitiert und als solcher gekennzeichnet; nichts oben behauptet, ein macOS-27-System habe etwas getan, weil ich zugesehen hätte. Ausführen konnte ich das SDK: Xcode 27 (27A266a) bringt das macOS 27.0 SDK (26A425) auf jeden Mac, der es installieren kann, daher sind die Header-Annotationen, die Swift-Interfaces, die Framework-Ordner und die drei Typecheck-Läufe echt, datiert auf den 26. September. Die beiden Stellen, an denen SDK und Notes auseinanderlaufen, der DVDPlayback-Stub und die Schreibweise des Widerrufsfalls, sind als das berichtet, was das SDK zeigt, nicht als Aussagen darüber, was ein 27er-Rechner zur Laufzeit tun wird.3
Was ich diese Woche tun würde
- Einmal aus Xcode 27 archivieren und die Linked-on-27-Liste oben vor dem Notarisieren an der App abarbeiten: Menübilder, jedes Open Panel, das Inhaltstypen setzt, jeder Code, der das Kontextmenü von
NSTextViewabläuft, Titelleisten-Accessories und jedes Sheet, das Control-Modifier geerbt hat.2 - Gesten auf einem 27er-Rechner testen, bevor Ihre Benutzer es tun: Ein Recognizer an einer Eltern-View, der früher neben dem eines Kinds ausgelöst hat, ist jetzt exklusiv, und eine eigene
NSGestureRecognizer-Subklasse ohnelocationInView:liefert den Ursprung und protokolliert. Achten Sie in der Konsole auf diesen Fehler, den AppKit laut Apple ausgibt; der DefaultNSGestureRecognizerCrashOnMissingOverridesist für Subklassen beschrieben, die keinen Endzustand erreichen, und die Notes sagen nicht, dass erlocationInView:abdeckt.2 - Nach
originalFilename,FileDocument,ReferenceFileDocument,.roundedBorder,deleteEventsundimport DVDPlaybackgreppen; das erste warnt nur bei einem Target von 27.0, die nächsten drei sind weich und stumm,deleteEventsexistiert nicht mehr, undimport DVDPlaybackwird zum Fehler an dem Tag, an dem Sie das Minimum auf 27.0 anheben.3 - Wenn Sie einen Agent oder Daemon per Download ausliefern, entfernen Sie das Quarantäne-Attribut bei der Installation von der Property List oder installieren Sie über einen Weg, der nie eines setzt; laut Apples Notes lädt
launchdauf 27 solche Dateien nicht mehr.2 - Wenn Sie den Container eines anderen Teams lesen, entfernen Sie den Code oder leiten Sie ihn über Full Disk Access; die Abfrage ist weg, und die Vorgabe ist Verweigerung.2
- Die Build-Nummer in Bug-Reports aus beiden Quellen protokollieren:
ProcessInfoauf dem Rechner und dieSystemVersion.plistdes SDKs auf dem Build-Mac. Sie unterscheiden sich, 26A428 gegenüber 26A425, und ein Fix, der in dem einen steckt, steckt womöglich nicht im anderen.3
Häufige Fragen
Wann ist macOS 27 erschienen, und welcher Build ist es?
Am Montag, dem 14. September 2026, als Build 26A428, in Apples Releases-Feed zusammen mit Xcode 27 und den anderen 27.0-Systemen. Das SDK in Xcode 27 meldet sich als 26A425.13
Ist macOS 27.0.1 schon erschienen?
Mit Stand 26. September 2026 nicht. Apples Index der macOS-Release-Notes führt „macOS 27 Golden Gate Release Notes“ und „macOS 27.2 Golden Gate Beta 2 Release Notes“ und nichts dazwischen, und der Releases-Feed enthält für keine Plattform ein 27.0.1. Dieser Beitrag bekommt einen datierten Hinweis, sobald eines erscheint.17
Wo finde ich die Release Notes zu macOS 27?
Auf Apples Website mit der Entwicklerdokumentation unter macOS Release Notes, eine Seite für das Release mit der Überschrift „macOS 27 Golden Gate Release Notes“ und 86 Bereichen, zuerst General, dann Accessory Access bis XQuartz. Die Notes zur 27.2-Beta sind eine eigene, viel kürzere Seite.24
Was ist in macOS 27 als veraltet markiert?
Dreizehn Einträge unter Deprecations-Überschriften: PHAssetResource.originalFilename, FileDocument, die Umbenennung von calendar.deleteEvents, das Framework DVDPlayback, Encrypted HFS+, der direkte Zugriff auf die TCC-Datenbank, die Scene-Lifecycle-Vorgabe für Catalyst, drei Rosetta-Einträge, AirPort Utility bei Neuinstallationen, eine USDKit-Beta-Note und ein Sprachhinweis zu Weather Highlights. Nur die ersten vier betreffen die API. originalFilename bekommt erst bei einem Deployment-Target von 27.0 eine Warnung, FileDocument bleibt stumm, deleteEvents kompiliert nicht mehr, und DVDPlayback warnt unterhalb eines 27.0-Minimums und scheitert bei diesem.23
Muss meine App für macOS 27 neu gebaut werden?
Nein, und gerade der Neubau ist es, der einen Teil des Verhaltens ändert. Die Linked-on-27-Einträge greifen erst, wenn Sie mit dem 27er SDK archivieren; die Änderungen an Gesten, launchd, TCC, Containern, TLS und Rosetta gelten für jede Binärdatei auf einem 27er-Rechner, ob neu gebaut oder nicht, und eine App, die gegen macOS 26.0 oder neuer gelinkt ist, verliert dort bereits ihre Menü-Symbolbilder.2
Ist DVDPlayback aus dem SDK verschwunden?
Nicht aus dem 27.0 SDK auf der Platte: Der Framework-Ordner, seine .tbd, die Header und die Module Map sind alle in der MacOSX27.0.sdk von Xcode 27 vorhanden. Seine Funktionen sind bei einem Deployment-Target von 27.0 als nicht verfügbar markiert und darunter seit 10.15 als veraltet, ein Projekt mit einem 27.0-Minimum kann also nicht dagegen bauen, und genau das sagt die Note; ein Projekt mit niedrigerem Minimum kann es weiterhin, mit einer Warnung.3
Was hat sich für Mac Catalyst unter macOS 27 geändert?
Die Scene-Lifecycle-Vorgabe gilt, UIScene.extendStateRestoration und completeStateRestoration stehen zur Verfügung, wenn gegen das macCatalyst 27 SDK gelinkt wird, Catalyst-Apps legen beim Wechsel ohne offenes Fenster keines mehr an, außer sie werden aus dem Dock oder aus Spotlight aktiviert, UIStepper funktioniert im Mac-Idiom, und die fehlenden Toolbar-Buttons der Seitenleiste sind als behoben gelistet. Die Notes zur Xcode-27.2-Beta ergänzen die Warnung, dass das macOS SDK dort „incorrectly report[s] 27.1 as a valid deployment target“ (27.1 fälschlich als gültiges Deployment-Target meldet) und dass Catalyst-Builds mit 27.1 oder 27.2 „may be unable to use newly introduced API.“ (neu eingeführte APIs eventuell nicht nutzen können.)25
Quellen
-
Apple, Releases, RSS-Feed abgerufen am 26. September 2026: „macOS 27.0 (26A428)“ datiert auf Montag, 14. September 2026, mit „Xcode 27 (27A266a)“; „macOS 27.2 beta 2 (26B5091g)“ datiert auf Montag, 21. September 2026; kein Eintrag für macOS 27.0.1 auf irgendeiner Plattform bis zum neuesten Eintrag, „TestFlight 4.4.0“ vom 24. September. ↩↩↩↩↩↩↩
-
Apple, macOS 27 Golden Gate Release Notes, abgerufen am 26. September 2026. Zitierte Einträge nach Radar-Nummer: AppKit 170477566, 177605020, 180962967, 6938919, 173975472, 176048351, 176395420, 179374305, 179936632, 160867808, 162577742, 163365571; App Intents 176751155, 181800016, 177198033; NSGestureRecognizer 173551081, 175705302, 176396492; NSApplication 168692527; SwiftUI 105893279, 158160386, 158441552, 158441261, 177458781, 167448274, 165913417, 175594929, 170678002, 174628712, 180300890, 180301399, 180302015, 180302075, 178776840, 86580365, 151015350, 173362083, 173990195, 68559433, 78212597, 177185166, 179388848, 170480710, 180301165; UIKit 141837548, 161843040, 170479084; Mac Catalyst 69906818, 57819435, 176879915; Launch Daemons and Agents 166415497; TCC 90775556; System Integrity Protection 161835690, 178668601; Privacy & Security Settings 184660124; Network Security 176055825; Rosetta 168097174, 163213094, 171187112, 176042635; Core AI 174796039, 179282606; Apple Unified Logging System 160567675; PhotoKit 175412725; CoreStorage 175892420; DVDPlayback 179136240; AirPort Utility 158248382; USDKit 177417812; Weather Highlights 164408676; StoreKit 141012819, 156749517, 160501742, 167808780; StoreKit Testing in Xcode 184155259, 184255116; System 160612181, 177911316; Disk Images 177868758; Virtualization 64203273; Gatekeeper 123097648; Game Controller 168071382; VideoToolbox 177635243, 179040806; Metal 172520325, 177318505; Foundation 161588649; Hardware Security 152103975; Swift Charts 174168981; Core Spotlight 183770678; Safari 183044008; Shortcuts 166068090, 168315587; Startup Disk 166640903; Siri 171728298, 176299524, 176812955, 177116121, 177376984, 177984074. Die Zahlen (86 Bereiche; 68 New Features, 173 Resolved Issues, 18 Known Issues, 13 Deprecations) sind die Zählung des Autors der Listenpunkte unter jeder Überschrift. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩
-
Untersuchung des macOS 27.0 SDK in Xcode 27 (27A266a) durch den Autor auf einem Mac mit macOS 26.6.2, 26. September 2026:
MacOSX27.0.sdk/System/Library/CoreServices/SystemVersion.plistmeldetProductBuildVersion26A425 undProductVersion27.0;PHAssetResource.hträgtAPI_DEPRECATED("Use filename instead", ios(9, 27), macos(10.15, 27), tvos(10, 27), visionos(1, 27))anoriginalFilename; das SwiftUI-Interface fürarm64e-apple-macosträgt@available(macOS, introduced: 11.0, deprecated: 100000.0, message: "Conform your type to Document instead.")anFileDocumentunddeprecated: 100000.0mit der Meldung zutextFieldStyle(.bordered)anroundedBorder; das macOS-Interface vonAppIntentsenthältdeleteEventeinmal unddeleteEventsnull Mal;DVDPlayback.frameworkenthältDVDPlayback.tbd(223 verschiedene_DVD-Symbole; Targetsx86_64-macos,arm64e-macos,arm64e.x1-macos),Headers/DVDPlayback.hundModules/module.modulemap;swiftc -typecheckeiner Datei, dieDVDPlaybackimportiert undDVDInitialize()aufruft, erzeugte „warning: ‘DVDInitialize()’ was deprecated in macOS 10.15: No longer supported“ bei-target arm64-apple-macos26.0und „error: ‘DVDInitialize()’ is unavailable in macOS: No longer supported“ bei-target arm64-apple-macos27.0;swiftc -typecheckeiner Datei, dieoriginalFilenameliest, anFileDocumentkonformiert und.roundedBorderanwendet, erzeugte keine Diagnose bei-target arm64-apple-macos26.0und eine Warnung, „’originalFilename’ was deprecated in macOS 27: Use filename instead“, bei-target arm64-apple-macos27.0;NSRefreshController.hund das Interface vonNSTextSelectionManagersindAPI_AVAILABLE(macos(27.0));NSToolbarItemGroup.hdeklariertNSToolbarItemGroupRolemitNS_SWIFT_NAME(NSToolbarItemGroup.Role) API_AVAILABLE(macos(27.0), ios(27.0))und die PropertyrolealsAPI_AVAILABLE(macos(27.0)), ebensoNSSegmentedControl.h;NSMenuItem.hdeklariertpreferredImageVisibilityalsAPI_AVAILABLE(macos(27.0));NSGestureRecognizer.hdeklariertcancellableByScrollGesturealsAPI_AVAILABLE(macos(27.0));NSApplication.hdeklariertNSApplicationPresentationDisableScreenCornerInteractionsalsAPI_AVAILABLE(macos(27.0))mit dem Wert Bit 15 der Maske; die Framework-OrdnerDiskImageKit,NowPlayingundAccessoryAccesssind vorhanden; das Interface vonSystemdeklariertpublic struct Stat;swiftc -typecheckeiner Datei, derenChart-Closure perifzwischen einemBarMarkund einemLineMarkverzweigt, erzeugte weder bei-target arm64-apple-macos26.0noch bei-target arm64-apple-macos27.0eine Diagnose; das StoreKit-Interface enthältassignedundBundledSubscriptionund deklariertpublic static var assignmentRevocationanTransaction.RevocationTypemit dem RohwertASSIGNMENT_REVOKE, während keine Datei im SDK dasassignmentRevokedder Note enthält; dieser Fall ist mit@available(iOS 26.4, macOS 26.4, tvOS 26.4, watchOS 26.4, visionOS 26.4, *)und@backDeployed(before: iOS 27.0, macOS 27.0, tvOS 27.0, watchOS 27.0, visionOS 27.0)deklariert;ReferenceFileDocumentträgt@available(macOS, introduced: 11.0, deprecated: 100000.0, message: "Use Document protocol instead.");NSScrollView.hdeklariertrefreshControlleralsAPI_AVAILABLE(macos(27.0)); der Kommentar inNSMenuItem.hzuimagelautet „in macOS 27 and later, AppKit determines the visibility of menu item images, and will typically hide images“. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Apple, macOS 27.2 Golden Gate Beta 2 Release Notes, abgerufen am 26. September 2026: General 186939138, AppKit 186955507, Notifications 187312007, Shortcuts 187499433, StoreKit Testing in Xcode 183933307, 184155259, 184255116, 186018916, zitiert. ↩↩↩
-
Apple, Xcode 27.2 Beta Release Notes, abgerufen am 26. September 2026, SDK, Known Issues (187160501), zitiert. ↩
-
Apple, App Store Connect release notes, abgerufen am 26. September 2026, Eintrag vom 14. September 2026, in der Tabelle vollständig zitiert. ↩
-
Apple, macOS Release Notes, Index abgerufen am 26. September 2026: Die Einträge zu 27 sind „macOS 27 Golden Gate Release Notes“ und „macOS 27.2 Golden Gate Beta 2 Release Notes“. ↩↩↩