Xcode 27 ist da: Anforderungen, Deployment Targets und was kaputtging
Xcode 27 erschien am 14. September 2026 als Build 27A266a, drei Tage nach dem iOS-27.0-RC-Eintrag im Releases-Feed und zusammen mit iOS 27.0 (24A437), macOS 27.0 (26A428) und den übrigen 27er-Plattformen; App Store Connect nimmt seit demselben Tag Builds mit den 27.0-GA-SDKs an, nachdem es RC-SDK-Builds bereits seit dem 9. September akzeptiert hatte.15 Es setzt macOS Tahoe 26.6 oder neuer und einen Mac mit Apple Silicon voraus, bringt Swift 6.4 und die 27er-SDKs mit, debuggt Geräte ab iOS 17 und hebt drei Deployment-Untergrenzen an: macOS 12, watchOS 9 und DriverKit 21.23 Bestehende Projekte treffen auf drei harte Fehler (das @State-Makro, einen Source Break aus SE-0508 und das Linker-Flag -ld64), eine Regel im Abhängigkeitsscan, die einen Fehler melden kann, eine stille Änderung an ARCHS_STANDARD und zwei Warnungen; ausnahmslos alle habe ich unten auf 27A266a nachvollzogen.246
Das Wichtigste in Kürze
- Termine und Builds. Apples Releases-Feed führt Xcode 27 (27A266a) und alle sechs 27.0-Betriebssysteme unter Montag, dem 14. September; sein Eintrag „iOS 27.0 RC (24A437)“ trägt das Datum Freitag, 11. September, zwei Tage nachdem App Store Connect begonnen hatte, RC-SDK-Uploads anzunehmen, und die GA trägt dieselbe Build-Nummer.15 Die eigenen Release Notes von App Store Connect zum 14. September besagen, dass Sie jetzt mit Xcode 27 gebaute Apps für den Store und für TestFlight hochladen können.5
- Anforderungen und Untergrenzen sind gestiegen. Xcode 26.6 lief auf macOS 26.2 und debuggte iOS-15-Geräte; Xcode 27 braucht macOS 26.6, läuft nur auf Apple Silicon und debuggt iOS 17, tvOS 17 und watchOS 10 oder neuer, im Simulator ebenso wie auf Hardware. Die Mindest-Deployment-Targets steigen von macOS 11 auf 12, watchOS 8 auf 9 und DriverKit 20 auf 21; iOS, iPadOS und tvOS bleiben bei 15, visionOS bei 1.23
- Drei harte Fehler. Das
@State-Makro: Apples eigenes Beispiel, ein Initializer, der einer@State-Property mit Startwert an der Deklaration vor den anderen gespeicherten Properties einen Wert zuweist, scheitert mitvariable 'self.title' used before being initialized; eine berechnete Property mit einem Array- oder Dictionary-Literal als Startwert und eineminit-Accessor kompiliert nicht mehr, wenn der Getter zuerst steht, ein Source Break, den Apple SE-0508 zuschreibt; und das Linker-Flag-ld64, das Xcode 15 dokumentierte, lässt das Linken mitld: library 'd64' not foundscheitern.2468 - Vier Änderungen, die warnen, Fehler melden können oder schweigen. Der Linker ignoriert
-ld_classicmit einer Warnung, weil ld64 verschwunden ist; doppelte Clang-Modulnamen innerhalb eines Abhängigkeitsscans „may report an error“ (können einen Fehler melden); ein reines macOS-Target auf 27.0 baut nur noch arm64, sofern Sie x86_64 nicht selbst wieder hinzufügen, und nichts warnt; undPreviewProviderträgt eine 27.0-Deprecation mit „Use #Preview instead.“, während jeder Preview-Modifier seine eigene Ersatzmeldung trägt, von denen der Compiler unterhalb eines Deployment Targets von 27.0 keine einzige anzeigt.24 - Apple hat Xcode 27.1 mit Stand 15. September nicht veröffentlicht. Weder der Releases-Feed noch der Release-Notes-Index führen es, und Apples Entwicklerseite zum iPhone Duo datiert die 27.1-Beta weiterhin auf „later this month“ (später in diesem Monat); die SDK-Lücke aus meinem Duo-Beitrag für Entwickler besteht weiter.1 (17. September: weiterhin kein 27.1, aber die Xcode-27.2-Beta erschien am 16. September, und ihre Notes nennen 27.1 als das Release, das das Duo-SDK trägt; die Einzelheiten stehen im Update unten.9) (19. September: Xcode 27.1 Beta (27A9269) erschien am 18. September mit einem iOS-27.1-SDK; das zweite Update unten hat die Notes.10) (1. Oktober: weiterhin nur diese erste 27.1 Beta.11) (11. Oktober: Xcode 27.1 RC (27A9275) ist am 5. Oktober erschienen, ein Release Candidate und nicht das Release, und der Eintrag von App Store Connect für diesen Tag lautet „You can now upload apps built with Xcode 27.1 RC using the SDK for iOS 27.1, 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.1 RC und dem SDK für iOS 27.1, iPadOS 27.0, macOS 27.0, tvOS 27.0, visionOS 27.0 und watchOS 27.0 gebaut wurden, lassen sich jetzt für den App Store sowie für interne und externe Tests über TestFlight hochladen)12) (14. Oktober: Xcode 27.2 Beta 3 (27B5038j) ist erschienen; Xcode 27.1 steht weiterhin beim RC, und Xcode 27 ist weiterhin das Release; das vierte Update unten enthält die Notes zur Beta 3.13) (15. Oktober: Xcode 27.1 (27A9275) ist das Release, mit der Build-Nummer des RC, im Releases-Feed auf 13:00 Uhr pazifischer Zeit datiert; die Notes-Seite trägt einen neuen Titel, und der Eintrag von App Store Connect für diesen Tag nimmt seine Builds für den Store unter diesem Namen an; Xcode 27 ist nicht mehr das neueste Release.14)
Update, 17. September: Die 27.2-Beta kam zuerst, und 27.1 hat eine Aufgabe
Apples Releases-Feed datiert eine komplette 27.2-Beta-Welle auf Mittwoch, den 16. September: Xcode 27.2 Beta (27B5019j), iOS und iPadOS 27.2 Beta (24B5084k), macOS 27.2 Beta (26B5086k), tvOS 27.2 Beta (24K5088l), visionOS 27.2 Beta (24N5088l) und watchOS 27.2 Beta (24S5086l), dazu ein TestFlight-Update, und kein Eintrag im Feed nennt 27.1.9 Die Notes zur Xcode-27.2-Beta erklären die Lücke in einem Satz: „The iOS SDK and simulator support for iPhone Duo will be available later this month in an upcoming release of Xcode 27.1.“ (Das iOS SDK und die Simulator-Unterstützung für das iPhone Duo werden später in diesem Monat mit einer kommenden Version von Xcode 27.1 verfügbar sein.) 27.1 trägt also das Duo-SDK, 27.2 ist eine eigenständige Beta mit eigenen neuen Funktionen, und die Beta behält die Untergrenze der GA bei: „Xcode 27.2 beta requires a Mac running macOS Tahoe 26.6 or later.“ (Die Xcode-27.2-Beta setzt einen Mac mit macOS Tahoe 26.6 oder neuer voraus.)9
Zwei Einträge in den Notes dieser Beta ergänzen diesen Beitrag, und das unten zitierte bekannte Problem mit den Simulator-Runtimes, 141290052, ist in 27.2 weiterhin offen. Unter Project Format: „Xcode now supports a JSON-based project format (.xcproj) that’s more readable, merge-friendly, and easier for coding agents to edit“ (Xcode unterstützt jetzt ein JSON-basiertes Projektformat, .xcproj, das lesbarer, merge-freundlicher und für Coding-Agenten leichter zu bearbeiten ist), aktiviert über den File Inspector, und „Projects using .xcproj also open in earlier versions of Xcode 27.“ (Projekte mit .xcproj öffnen sich auch in früheren Versionen von Xcode 27.) Unter SDK ein bekanntes Problem: „macOS, watchOS, tvOS, and visionOS SDKs in Xcode 27.2 incorrectly report 27.1 as a valid deployment target“ (die SDKs für macOS, watchOS, tvOS und visionOS in Xcode 27.2 melden 27.1 fälschlich als gültiges Deployment Target), mit „unexpected behavior if this deployment target is used“ (unerwartetem Verhalten, wenn dieses Deployment Target verwendet wird) und „Mac Catalyst builds with a 27.1 or 27.2 deployment target may be unable to use newly introduced API.“ (Mac-Catalyst-Builds mit einem Deployment Target von 27.1 oder 27.2 können neu eingeführte API womöglich nicht nutzen.)9 Apple hat außerdem zwischen meinen Abrufen vom 16. und 17. September ein bekanntes Problem in die Notes zu Xcode 27 selbst aufgenommen, unter Enhanced Security: „Apps with Hardware-Checked Pointer Arithmetic Slice feature enabled cannot be uploaded to the App Store on macOS Tahoe 26.6 with Xcode automatic signing enabled.“ (Apps mit aktivierter Funktion Hardware-Checked Pointer Arithmetic Slice lassen sich auf macOS Tahoe 26.6 mit aktivierter automatischer Signierung von Xcode nicht in den App Store hochladen.) Der Workaround lautet „Distribute with macOS 27 and Xcode 27 or use manual signing.“ (Mit macOS 27 und Xcode 27 ausliefern oder manuelle Signierung verwenden.) Mein arm64e.x1-Beitrag trägt ihn.9 Nichts in den Notes zur 27.2-Beta berührt den Linker, die Regel zu den Modulnamen, das @State-Makro oder die Preview-Deprecations unten; die ersten drei stehen in den Notes zu Xcode 27 und der @State-Eintrag in den Notes zu iOS und iPadOS 27, und die in diesem Beitrag zitierten Xcode-27-Einträge lesen sich am 17. September genauso wie am 15. September.69
Update, 19. September: Xcode 27.1 Beta ist da, mit einem iOS-27.1-SDK
Apples Releases-Feed datiert Xcode 27.1 Beta (27A9269) auf Freitag, den 18. September, zwei Tage nach der 27.2-Beta-Welle, und der Index der Xcode Release Notes führt jetzt drei 27er-Einträge: Xcode 27, Xcode 27.1 Beta und Xcode 27.2 Beta.10 Die Notes zur 27.1-Beta sind kurz. Ihr Overview: „Xcode 27.1 beta includes Swift 6.4 and SDKs for iOS 27.1, iPadOS 27, tvOS 27, watchOS 27, macOS 27, and visionOS 27,“ (die Xcode 27.1 Beta enthält Swift 6.4 und die SDKs für iOS 27.1, iPadOS 27, tvOS 27, watchOS 27, macOS 27 und visionOS 27), mit denselben Untergrenzen fürs Debugging auf Geräten wie bei 27.0 und derselben Voraussetzung, „a Mac running macOS Tahoe 26.6 or later.“ (ein Mac mit macOS Tahoe 26.6 oder neuer). Lesen Sie diese SDK-Liste so, wie sie dasteht, mit einer Unstimmigkeit: Das Overview setzt iPadOS auf 27, während die App-Store-Connect-Zeile unten und Apples API-Seiten iPadOS 27.1 Beta nennen; ich zitiere beides, statt es aufzulösen. iOS 27.1 ist das Release, mit dem das iPhone Duo laut Apples News-Beitrag vom 16. September beim Verkaufsstart am 23. Oktober läuft („will run“).10 Die Release Notes von App Store Connect tragen unter TestFlight die passende Zeile für den 18. September: „You can now submit apps built with Xcode 27.1 beta using the SDK for iOS 27.1 beta or iPadOS 27.1 beta for internal and external testing.“ (Apps, die mit der Xcode 27.1 Beta und dem SDK für iOS 27.1 Beta oder iPadOS 27.1 Beta gebaut wurden, lassen sich jetzt für interne und externe Tests einreichen.)10 Außerdem hat Apple zwischen meinen Abrufen vom 17. und vom 19. September das Overview der 27.2-Beta-Notes umgeschrieben: Der im Update oben zitierte Satz „The iOS SDK and simulator support for iPhone Duo will be available later this month in an upcoming release of Xcode 27.1,“ ist verschwunden, und an seiner Stelle steht ein Hinweis, „Download Xcode 27.1 beta to get the iOS SDK and simulator support for iPhone Duo,“ (laden Sie die Xcode 27.1 Beta, um das iOS-SDK und die Simulator-Unterstützung für das iPhone Duo zu erhalten), mit Link auf die Download-Seite.10 Apples Dokumentation führt jetzt fünf der iPhone-Duo-APIs unter iOS 27.1, als Beta; die Namen stehen in meinem Duo-Entwicklerbeitrag.
Die Notes zur 27.1-Beta haben drei Abschnitte, und zwei davon bestehen aus Known Issues. Unter Mac Catalyst: „Projects that use APIs specific to iOS 27.1 show compile errors when building for Mac Catalyst (“undeclared identifier”, “not found”, “has no member”, “cannot find”, etc).“ (Projekte, die iOS-27.1-spezifische APIs nutzen, zeigen beim Bauen für Mac Catalyst Compile-Fehler) (185924957), mit dem Workaround „Use build-time conditionals like #if !targetEnvironment(macCatalyst) (Swift) or #if !TARGET_OS_MACCATALYST (ObjC) to isolate affected code,“ (den betroffenen Code mit Build-Bedingungen isolieren), und „Projects that target iOS 27.1 show no Mac Catalyst run destination available.“ (Projekte mit Ziel iOS 27.1 zeigen kein Mac-Catalyst-Ziel zum Ausführen an) (187046347), mit dem Workaround „Add a Mac Catalyst 27.0 minimum deployment in target settings.“ (in den Target-Einstellungen ein Mac-Catalyst-Deployment-Minimum von 27.0 eintragen). Sie stehen neben dem im Update vom 17. September zitierten SDK Known Issue der 27.2-Beta, 187160501, das nach meiner Lesart dieselbe 27.1-Lücke von der Seite des macOS-SDKs zeigt. Unter Simulator drei Known Issues: „Initial Simulator launch can take several minutes.“ (der erste Start des Simulators kann mehrere Minuten dauern) (187708500), „StandBy is unavailable in the iPhone Duo Simulator runtime.“ (StandBy steht in der iPhone-Duo-Simulator-Runtime nicht zur Verfügung) (187708663) und „Running and debugging most app extensions is unavailable in the iPhone Duo Simulator runtime.“ (die meisten App Extensions lassen sich in dieser Runtime nicht ausführen und debuggen) (187708767). Der dritte Abschnitt, Previews, trägt ein New Feature: „The canvas overrides picker now includes a Display group for previewing content on a device’s alternative display.“ (die Override-Auswahl des Canvas enthält jetzt eine Gruppe Display, um Inhalte auf dem zweiten Display eines Geräts in der Vorschau zu sehen) (182598534).10 Nichts in den Notes zur 27.1-Beta berührt den Linker, die Regel zu Modulnamen, das @State-Makro oder die Preview-Deprecations unten, und die am 19. September erneut abgerufenen Xcode 27 Release Notes lesen sich wie am 17. September.10
Ein weiteres Datum gehört in diesen Beitrag, aus Apples News-Beitrag vom 9. September zu App-Store-Einreichungen: „Starting April 2027, apps and games uploaded to App Store Connect need to meet the following minimum requirements: iOS and iPadOS apps must be built with the iOS 27 & iPadOS 27 SDK or later,“ (ab April 2027 müssen in App Store Connect hochgeladene Apps und Spiele mit dem iOS-27- und iPadOS-27-SDK oder neuer gebaut sein), und für tvOS, visionOS und watchOS gilt dasselbe mit den jeweiligen 27er-SDKs. Apples Seite Upcoming Requirements führte den Punkt am 19. September noch nicht; ihr neuester Eintrag ist weiterhin die Untergrenze vom 28. April 2026 mit Xcode 26 und den 26er-SDKs. Die 27er-SDKs, um die es in diesem Beitrag geht, werden also im April 2027 zur Untergrenze für Uploads.10
Update, 1. Oktober: Xcode 27.2 Beta 2, und kein Xcode 27.0.1
Apples Releases-Feed datiert Xcode 27.2 Beta 2 (27B5028f) auf Montag, den 28. September, denselben Tag wie die 27.0.1-Updates für iOS, iPadOS, macOS, visionOS und watchOS. Ein Xcode 27.0.1 gibt es im Feed nicht: Xcode 27 (27A266a) war weiterhin das Release, und der Text seiner Notes-Seite ist identisch mit meiner Kopie vom 26. September.11 Die Notes zur Beta 2 ergänzen ein MCP-Tool GetCodeCoverage, führen die Device-Hub-Eingabeprobleme der ersten Beta als behoben und verweisen für die Arbeit am iPhone Duo weiterhin auf die Xcode 27.1 Beta, während sie zugleich zwei eigene Known Issues zum iPhone Duo aufführen und zwei Einträge der 27.1 Beta wiederholen, die im Update vom 19. September zitiert sind, 185924957 und 182598534; der Beitrag zu 27.2 liest sie Eintrag für Eintrag. Das unten zitierte Problem mit Simulator-Runtimes, 141290052, ist in 27.2 Beta 2 als behoben aufgeführt; Xcode 27 führt es weiterhin als Known Issue.11
Update, 14. Oktober: Xcode 27.2 Beta 3, und der Duo-Hinweis ist weg
Apples Releases-Feed datiert Xcode 27.2 Beta 3 (27B5038j) auf Mittwoch, den 14. Oktober, den Tag nach den vierten 27.2-Betas von iOS, iPadOS, macOS, visionOS und watchOS (tvOS bekam keine). Xcode 27 (27A266a) war weiterhin das Release und Xcode 27.1 stand weiterhin beim RC vom 5. Oktober (15. Oktober: Xcode 27.1 erschien an diesem Nachmittag als Release, Build 27A9275, der Build des RC; das fünfte Update unten hat die Einzelheiten), und der Text der Notes-Seite zu Xcode 27 ist gegenüber einer Kopie, die ich am 11. Oktober gesichert habe, unverändert.13 Die Notes zur Beta 3 streichen den Hinweis, der die Arbeit am iPhone Duo an die Xcode 27.1 Beta verwies, und setzen nichts an seine Stelle, sodass nirgends steht, das Duo-SDK sei zu 27.2 gewandert, und nach meiner Lesart der 27.1 RC der Build für das Duo bleibt; sie ergänzen zwei Interface-Builder-Korrekturen für den Kompilierungsmodus toolchain; sie verschieben das Problem beim Klonen von Simulatoren unter eine Überschrift Simulator Runtimes, mit einem find-Befehl als Workaround; und sie führen das Problem bei der Neuinstallation von Runtimes, 187950199, nun als in Beta 2 behoben; der Beitrag zu 27.2 liest sie Eintrag für Eintrag. Das unten zitierte Problem mit Simulator-Runtimes, 141290052, ein anderer Eintrag, ist weiterhin als in 27.2 Beta 2 behoben aufgeführt und auf der Seite zu Xcode 27 weiterhin ein Known Issue. Der TestFlight-Eintrag von App Store Connect vom selben Tag nimmt Builds aus der 27.2 Beta 3 zum Testen an, nicht für den App Store.13
Update, 15. Oktober: Xcode 27.1 ist das Release, mit dem Build des RC
Apples Releases-Feed datiert Xcode 27.1 (27A9275) auf Donnerstag, den 15. Oktober, 13:00 Uhr pazifischer Zeit, acht Tage bevor das iPhone Duo am 23. Oktober erscheint; die Build-Nummer ist die des RC vom 5. Oktober.101214 Die Notes-Seite heißt jetzt „Xcode 27.1 Release Notes“, und ihre Overview lautet „Xcode 27.1 includes Swift 6.4 and SDKs for iOS 27.1, iPadOS 27, tvOS 27, watchOS 27, macOS 27, and visionOS 27.“ (Xcode 27.1 enthält Swift 6.4 und SDKs für iOS 27.1, iPadOS 27, tvOS 27, watchOS 27, macOS 27 und visionOS 27.), der Text des RC ohne „RC“, und die beiden bekannten Probleme des iPhone-Duo-Simulators bleiben stehen. Der Eintrag von App Store Connect vom selben Tag lautet „You can now upload apps built with Xcode 27.1 using the SDK for iOS 27.1, 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.1 und dem SDK für iOS 27.1, iPadOS 27.0, macOS 27.0, tvOS 27.0, visionOS 27.0 und watchOS 27.0 gebaut wurden, lassen sich jetzt für den App Store sowie für interne und externe Tests über TestFlight hochladen.) und fügt hinzu: „Submit your iPhone Duo optimized apps and games in App Store Connect today. Starting April 2027, any apps or games submitted will need to include screenshots for iPhone Duo.“ (Reichen Sie Ihre für das iPhone Duo optimierten Apps und Spiele noch heute in App Store Connect ein. Ab April 2027 müssen alle eingereichten Apps und Spiele Screenshots für das iPhone Duo enthalten.) Xcode 27 (27A266a) bleibt als Release vom 14. September im Feed, und die Notes-Seite zu Xcode 27 ist gegenüber der Kopie vom 11. Oktober unverändert. Der Beitrag zu 27.2 und der Beitrag zur Vorbereitung auf das Duo tragen denselben Hinweis.14
Update, 26. Oktober: Die 27.2-Systeme sind erschienen, Xcode 27.2 ist weiterhin der RC
Apples Releases-Feed datiert iOS 27.2 (24B119, mit einem zweiten iOS-27.2-Build, 24B91020, in derselben Minute), iPadOS 27.2 (24B119), macOS 27.2 (26B123), tvOS 27.2 (24K122), visionOS 27.2 (24N120) und watchOS 27.2 (24S118) auf Montag, den 26. Oktober, 10:00 Uhr pazifischer Zeit. Der neueste Xcode-Eintrag im Feed ist weiterhin der Release Candidate, Xcode 27.2 RC (27B48), datiert auf den 19. Oktober, 10:00 Uhr pazifischer Zeit, und seine Notes-Seite heißt weiterhin „Xcode 27.2 RC Release Notes“, Overview: „Xcode 27.2 RC includes Swift 6.4 and SDKs for iOS 27.2, iPadOS 27.2, tvOS 27.2, watchOS 27.2, macOS 27.2, and visionOS 27.2. Xcode 27.2 RC supports on-device debugging in iOS 17 and later, tvOS 17 and later, watchOS 10 and later, and visionOS. Xcode 27.2 RC requires a Mac running macOS Tahoe 26.6 or later.“ (Swift 6.4 und die 27.2-SDKs aller Plattformen, Debugging auf dem Gerät ab iOS 17, tvOS 17, watchOS 10 und unter visionOS, Voraussetzung ist ein Mac mit macOS Tahoe 26.6 oder neuer.) Der Eintrag von App Store Connect vom 20. Oktober nimmt seine Builds an: „You can now upload apps built with Xcode 27.2 RC using the SDK for iOS 27.2 RC, iPadOS 27.2 RC, macOS 27.2 RC, tvOS 27.2 RC, visionOS 27.2 RC, and watchOS 27.2 RC for the App Store, and for internal and external testing through TestFlight.“ (Apps, die mit Xcode 27.2 RC und den RC-SDKs für 27.2 gebaut wurden, lassen sich jetzt für den App Store sowie für interne und externe Tests über TestFlight hochladen.) Im September erschien Xcode 27 am selben Tag wie die 27.0-Systeme; diesmal erschienen die Systeme ohne Xcode. Die Seite zum RC ergänzt die der Beta 3 um eine Liste neuer Funktionen in Device Hub (Zeitlupenanimation, simuliertes Schütteln, simulierter Sturz und simulierter Speicherdruck für Simulatoren, ein Kontextmenü für Screenshots, verbessertes Drag-and-drop für das Screenshot-Symbol, ausgeblendete Gehäuserahmen und eine Gruppe App Settings, 189236369), Fixes für den Absturz bei Vision Pro ohne visionOS-Runtime, für den Menüpunkt zur Speicherwarnung und für das Beenden von Device Hub unter früheren macOS-27.2-Betas (190126101), ein Known Issue in Device Hub, wonach es „is unable to customize the text size for a device running iOS 18 or earlier“ (die Textgröße für ein Gerät mit iOS 18 oder älter nicht anpassen kann) (189261485), einen Fix im iPhone-Duo-Simulator für CameraCaptureAccessory mit beiden Displays (190155353), ein neues Known Issue im iPhone-Duo-Simulator, „When switching between the inner and outer display of the iPhone Duo simulator, modifier keys such as Shift and Command might stop working.“ (beim Wechsel zwischen innerem und äußerem Display des iPhone-Duo-Simulators funktionieren Modifikatortasten wie Umschalt und Befehl womöglich nicht mehr) (189465196), sowie je einen Fix für Instruments, Memory Gauge und XCTest UI Automation. Das SDK-Known-Issue, wonach die SDKs für macOS, watchOS, tvOS und visionOS „incorrectly report 27.1 as a valid deployment target“ (27.1 fälschlich als gültiges Deployment-Target melden), ist unverändert, ebenso der Eintrag zu Mac Catalyst über „APIs specific to iOS 27.1.“ (APIs, die nur iOS 27.1 betreffen). Zwischen den beiden Xcode-Einträgen erschien das iPhone Duo: Apples Newsroom datiert sein Debüt in den Stores auf Freitag, den 23. Oktober, und Apples Seite zu den Sicherheitsupdates führt iOS 27.1 allein für „iPhone Duo“, datiert auf den 23. Oktober, ohne veröffentlichte CVE-Einträge; ein Eintrag zu iOS 27.1 erreichte den Feed nie, und der Release-Notes-Index führt nur 27 und 27.2. Das 27.1-SDK in Xcode 27.1, auf diesem Mac Build 24A94232, ist also das SDK für ein iOS-Release, das auf einem einzigen Telefon erschien. TestFlight 4.4.1, datiert auf den 22. Oktober, bringt „Support for iPhone Duo.“ (Unterstützung für das iPhone Duo). Der Beitrag zu den Release Notes von iOS 27.2 liest die 27.2-Notes, und der Beitrag zur 27.2-Beta bleibt das Protokoll der Betas.15
Was erschien am 14. September?
| Eintrag | Build | Datum im Feed |
|---|---|---|
| Xcode 27 | 27A266a | Mo., 14. Sep. 2026 |
| iOS 27.0 / iPadOS 27.0 | 24A437 | Mo., 14. Sep.; der Feed-Eintrag „iOS 27.0 RC (24A437)“ trägt das Datum Fr., 11. Sep., und App Store Connect nahm RC-SDK-Uploads ab Mi., 9. Sep. an |
| macOS 27.0 | 26A428 | Mo., 14. Sep. |
| tvOS 27.0 | 24J361 | Mo., 14. Sep. |
| visionOS 27.0 | 24M362 | Mo., 14. Sep. |
| watchOS 27.0 | 24R364 | Mo., 14. Sep. |
| App Store Connect | „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.“ (Mit Xcode 27 und den 27.0-SDKs gebaute Apps lassen sich jetzt für den App Store sowie für interne und externe Tests über TestFlight hochladen.) | 14. Sep. |
Der Abschnitt Overview der Release Notes lautet: „Xcode 27 includes Swift 6.4 and SDKs for iOS 27, iPadOS 27, tvOS 27, watchOS 27, macOS 27, and visionOS 27. Xcode 27 supports on-device debugging in iOS 17 and later, tvOS 17 and later, watchOS 10 and later, and visionOS. Xcode 27 requires a Mac running macOS Tahoe 26.6 or later.“ (Xcode 27 enthält Swift 6.4 und die 27er-SDKs, unterstützt Debugging auf Geräten ab iOS 17, tvOS 17 und watchOS 10 sowie unter visionOS und benötigt einen Mac mit macOS Tahoe 26.6 oder neuer.)2 Auf diesem Mac gibt xcodebuild -version die Zeile Xcode 27.0 Build version 27A266a aus und swift --version die Zeile Apple Swift version 6.4 (swiftlang-6.4.0.34.1 clang-2100.3.34.1).4
Was steht in den Release Notes zu Xcode 27?
Die Notes sind eine einzige Seite unter Xcode Release Notes auf Apples Entwicklerdokumentationsseite, und sie sind lang: 41 Bereiche mit Überschrift und 296 Listeneinträge, die sich ausgezählt auf 134 neue Funktionen, 134 behobene Probleme, 19 bekannte Probleme und 9 Deprecations verteilen. Instruments hat mit 60 die meisten Einträge, danach folgen Device Hub mit 36, Coding Intelligence mit 29, Previews mit 27, Previews & Playgrounds mit 18, Testing mit 16 und Localization mit 15. Die neun Deprecations stehen unter C++ Standard Library, Device Hub, devicectl, Instruments, Intel Deprecation, Linking, On Demand Resources, Previews und USDKit; die Einträge unter Linking und Intel sind diejenigen, die Builds verändern, und die folgenden Abschnitte zitieren sie. Die Zahlen sind meine eigene Zählung der Listeneinträge unter jeder Überschrift am 26. September.2
Was setzt Xcode 27 voraus, verglichen mit 26.6?
Apples Kompatibilitätstabelle ist das Dokument, das Sie vor dem Upgrade eines Build-Rechners prüfen sollten. Die beiden Zeilen nebeneinander:3
| Xcode 26.6 | Xcode 27 | |
|---|---|---|
| macOS zum Ausführen | Tahoe 26.2 bis 26.x | Tahoe 26.6 oder neuer, nur Apple Silicon2 |
| SDKs | iOS, tvOS, watchOS, visionOS, macOS 26.5; DriverKit 25.5 | iOS, tvOS, watchOS, visionOS, macOS 27; DriverKit 27 |
| Deployment Targets | iOS 15, tvOS 15, watchOS 8, visionOS 1, macOS 11, DriverKit 20 | iOS 15, tvOS 15, watchOS 9, visionOS 1, macOS 12, DriverKit 21 |
| Debugbare Geräte | iOS 15, tvOS 15, watchOS 8, visionOS 1 oder neuer | iOS 17, tvOS 17, watchOS 10, visionOS 1 oder neuer |
| Simulatoren | iOS 15, tvOS 15, watchOS 8, visionOS 1 oder neuer | iOS 17, tvOS 17, watchOS 10, visionOS 1 oder neuer |
| Swift-Compiler | 6.3 | 6.4 (Sprachmodi 6, 5, 4.2, 4) |
Hinter diesen Zeilen verbergen sich zwei Konsequenzen. Instruments weist jetzt Geräte ab, die älter als iOS 17, watchOS 10 oder tvOS 17 sind, sodass ein Profiling-Aufbau auf einem alten iPhone den Dienst quittiert, bevor irgendeine Zeile App-Code das tut.2 Und die Tastatur- und Zeigerinteraktionen des Device Hub grenzt Apple mit einem Satz ein: „only supported on the following OS versions and newer: macOS 15.0, iOS 18.0, tvOS 18.0, watchOS 11.0, visionOS 2.0.“ (nur ab macOS 15.0, iOS 18.0, tvOS 18.0, watchOS 11.0 und visionOS 2.0 unterstützt.)2
Für den Mac, auf dem Xcode läuft, gibt es beim Apple-Silicon-Zwang keinen Workaround, und für alle, die den Intel-Beitrag im Juli gelesen haben, ist das nichts Neues; die GA-Notes behalten den Wortlaut vom Juli vollständig bei: „Xcode 27 will only install and run on Apple silicon Macs. The macOS 27 SDK supports back deploying Universal (Intel and Apple Silicon) apps to macOS 12 and later. Intel development is still possible with macOS versions that support Rosetta like macOS 27.“ (Xcode 27 lässt sich nur auf Macs mit Apple Silicon installieren und ausführen; das macOS-27-SDK unterstützt Universal-Apps bis zurück zu macOS 12; Intel-Entwicklung bleibt auf macOS-Versionen mit Rosetta wie macOS 27 möglich.)2 Der dritte Satz ist der Workaround für die Macs, an die Sie ausliefern, nicht für den, auf dem Sie bauen.
Was hat sich in der Toolchain geändert?
Der Linker. Die GA-Notes sagen es in einem Satz: „The ld64 linker has been removed and the -ld_classic option is no longer supported.“ (Der Linker ld64 wurde entfernt, die Option -ld_classic wird nicht mehr unterstützt.)2 So sieht das auf 27A266a aus: Das usr/bin der Toolchain enthält eine einzige Linker-Binary, ld, die sich als ld-27037.1 meldet, gebaut am 25. August 2026. Das alte Flag lässt den Link nicht scheitern. Mit einer hello.c, die nur die Zeile int main(void){return 0;} enthält, gibt clang hello.o -o hello_classic -Xlinker -ld_classic die Meldung ld: warning: -ld_classic is no longer supported and will be ignored aus, endet mit 0 und schreibt die ausführbare Datei. Die andere Schreibweise, die Apple in Xcode 15 dokumentierte, -ld64, kommt schlechter weg:8 clang hello.c -o hello_ld64 -Wl,-ld64 scheitert mit ld: library 'd64' not found und endet mit 1, weil der neue Linker -ld64 als -l d64 liest, also als Wunsch nach einer Bibliothek namens d64.4 Ein Projekt mit -ld_classic in OTHER_LDFLAGS baut also weiter, mit einer neuen Warnung bei jedem Link, und jedes Verhalten, das es sich vom alten Linker erkaufte, ist weg; ein Projekt mit -ld64 linkt nicht mehr, mit einem Fehler, der den Linker nie beim Namen nennt. Mein ld64-Beitrag geht der Herkunft dieser Flags nach und protokolliert beide Läufe.
Die Standardarchitekturen. Der Abschnitt Intel Deprecation formuliert die Regel: „Build targets with a min deployment target set to macOS 27.0 or DriverKit 27.0 will not build Universal by default. The ARCHS_STANDARD build setting will no longer include x86_64 when MACOSX_DEPLOYMENT_TARGET or DRIVERKIT_DEPLOYMENT_TARGET >= 27.0.“ (Build-Targets mit einem Mindest-Deployment-Target von macOS 27.0 oder DriverKit 27.0 bauen standardmäßig nicht mehr Universal; die Build-Einstellung ARCHS_STANDARD enthält kein x86_64 mehr, sobald MACOSX_DEPLOYMENT_TARGET oder DRIVERKIT_DEPLOYMENT_TARGET >= 27.0 ist.)2 Ich habe das an einem Multiplattform-Projekt (Yawara, mit SUPPORTED_PLATFORMS = iphoneos iphonesimulator macosx xros xrsimulator) per xcodebuild -showBuildSettings -sdk macosx nachvollzogen; ohne das Argument -sdk löst das Projekt überhaupt kein ARCHS_STANDARD auf, eine Eigenheit, die der Intel-Beitrag behandelt. Bei MACOSX_DEPLOYMENT_TARGET = 26.0 löst die Einstellung zu ARCHS_STANDARD = arm64 x86_64 auf; bei 27.0 zu ARCHS_STANDARD = arm64, während ARCHS_STANDARD_64_BIT in beiden Fällen arm64 x86_64 bleibt.4 Nichts warnt. Wenn Sie Universal ausliefern und das Target anheben, fügen Sie x86_64 selbst zu ARCHS hinzu.
Die C++-Standardbibliothek. „The minimum supported deployment target on macOS for the C++ standard library has been increased to 11.0.“ (Das minimale Deployment Target der C++-Standardbibliothek unter macOS wurde auf 11.0 angehoben.) Die Notes listen Verhaltensänderungen unter „Potentially breaking changes“ (potenziell inkompatible Änderungen), beginnend damit, dass multi{map,set}::find nicht mehr zwingend das erste passende Element liefert.2 Die Liste neuer Funktionen ist lang: Hashing für std::chrono-Werte, zip, std::optional<T&>, std::views::indices(n) und mehr.2
Der Abhängigkeitsscan und die Regel, die ihn scheitern lassen kann. Apple hat den Swift-Abhängigkeitsscanner nach eigener Aussage optimiert, „to avoid redundant setup work and header searches when looking up Clang modules during a single dependency-scan action“ (um beim Nachschlagen von Clang-Modulen innerhalb eines Scans redundante Vorbereitung und Header-Suchen zu vermeiden), und der Geschwindigkeitsgewinn bringt eine Anforderung mit: „every Clang module reachable from a single Swift dependency-scan action must have a unique module name. If two module maps visible to the same scan declare a Clang module with the same name, the scan may report an error. Previously, the scanner may have tolerated duplicating names.“ (Jedes Clang-Modul, das ein einzelner Swift-Abhängigkeitsscan erreicht, muss einen eindeutigen Modulnamen haben; deklarieren zwei für denselben Scan sichtbare Module Maps ein Clang-Modul mit gleichem Namen, kann der Scan einen Fehler melden; früher tolerierte der Scanner doppelte Namen unter Umständen.)2 Apple nennt die beiden Konstellationen, die darüber stolpern: „projects or SDKs that vend the same Clang module name from more than one location on the header search path, and vendored third-party sources that ship a module.modulemap redeclaring an SDK module.“ (Projekte oder SDKs, die denselben Clang-Modulnamen von mehr als einem Ort im Header-Suchpfad anbieten, sowie eingebettete Drittanbieter-Quellen mit einer module.modulemap, die ein SDK-Modul erneut deklariert.)2 Wie die Entfernung des Linkers greift die Regel beim Toolchain-Upgrade und nicht ab einem Deployment Target; mein ld64-Beitrag schickt zwei kollidierende Module Maps durch den Scanner, kompiliert einen eingebetteten SQLite3-Shim, der das SDK-Modul verdeckt, und prüft sieben Projekte auf beide Konstellationen. Auf 27A266a meldet die erste Konstellation genau den Fehler, den Apples „may“ vorwegnimmt: Zwei Module Maps, die module Widget auf einem einzigen Suchpfad deklarieren, bringen swiftc -scan-dependencies dazu, in 20 von 20 Läufen error: redefinition of module 'Widget' auszugeben, dabei in 20 von 20 mit Exit 0 zu enden und das Modul auf das erste -I-Verzeichnis aufzulösen; Xcode 26.6 endete im Juli bei 14 von 20 Läufen derselben Eingabe mit einem Absturz oder Abbruch. Kompiliert wird trotzdem nicht, weil -typecheck in 20 von 20 Läufen mit demselben Fehler scheitert. Die zweite Konstellation, eine eingebettete Module Map, die das SQLite3 des SDK erneut deklariert, durchläuft den Scan sauber, ohne jede Ausgabe auf stderr, und verdeckt das SDK-Modul stillschweigend.4 Der ld64-Beitrag enthält beide Läufe, auf 26.6 und auf der GA.
Was kompiliert nicht mehr?
Das @State-Makro. Die Änderung steht in den Release Notes zu iOS 27, nicht in denen zu Xcode, und sie hängt am Compiler, mit dem Sie bauen, nicht am Target, für das Sie ausliefern: „Xcode 27 introduces a new @State implementation that avoids this repeated evaluation. This new behavior back-deploys to iOS 17 aligned OSes. The new @State is implemented with a Swift macro. It is largely source compatible with the property wrapper version, with a few exceptions.“ (Xcode 27 führt eine neue @State-Implementierung ein, die die wiederholte Auswertung vermeidet; das neue Verhalten reicht bis zu den mit iOS 17 ausgerichteten Systemen zurück; das neue @State ist als Swift-Makro umgesetzt und mit wenigen Ausnahmen quellkompatibel zur Property-Wrapper-Variante.)6 Apple nennt vier Ausnahmen und gibt zu zweien Codelistings; die anderen beiden bekommen je ein bis zwei Sätze: „In rare situations, the automatic inference of generic arguments of @State is less flexible with the macro implementation. Write the type with more specificity.“ (In seltenen Fällen ist die automatische Ableitung generischer Argumente von @State mit dem Makro weniger flexibel; schreiben Sie den Typ genauer aus.) und „Composing @State with other property wrappers or macros is not supported.“ (Die Kombination von @State mit anderen Property Wrappern oder Makros wird nicht unterstützt.)6 Die beiden mit Listings sind die, die bestehenden Code erwischen. Ein Initializer, der einer @State-Property etwas zuweist, die bereits einen Wert an der Deklaration hat: SwiftUI hat die Zuweisung schon immer verworfen, und jetzt „some such cases no longer compile.“ (kompilieren manche dieser Fälle nicht mehr.)6 Und der private Memberwise Initializer, den der Compiler synthetisiert, wenn jedes gespeicherte Mitglied privat ist: „The state macro disables this synthesized initializer. So the code above no longer compiles.“ (Das State-Makro deaktiviert diesen synthetisierten Initializer, der gezeigte Code kompiliert daher nicht mehr.)6 Auf 27A266a scheitert das erste Beispiel wie geschrieben, mit error: variable 'self.title' used before being initialized in der Zeile, die page zuweist, weil der Setter des Makros gegen self läuft, bevor title existiert; verschieben Sie self.title = title darüber, und dieselbe Datei kompiliert, wobei die @State-Zuweisung wie zuvor verworfen wird.46 Das zweite Beispiel, eine Extension, die self.init(page: page, title: title) auf einem Struct aufruft, dessen @State keinen Wert an der Deklaration hat, kompilierte in meinem Lauf unverändert, und die Makroexpansion zeigt die Form, die das erlaubt: Das Makro erzeugt private var _page: SwiftUICore.State<StickerPage> hinter einem @storageRestrictions(initializes: _page)-init-Accessor, dem Konstrukt, das einen Memberwise Initializer page: annehmen lässt.4 Lesen Sie die Note als Beschreibung von Mustern, die es zu prüfen gilt, und bestätigen Sie dann jedes an Ihrem eigenen Code. Der Beitrag zum @State-Makro zählt beide Muster über vier ausgelieferte Apps; ich schrieb ihn im Juli anhand der Beta-Notes, vor diesem GA-Test, und seine offene Frage schließt sich hier ebenfalls: Die direkte Zuweisung an den Speicher dahinter, _page = State(initialValue:) innerhalb eines Initializers, kompiliert auf 27A266a mit und ohne Wert an der Deklaration.4
Der SE-0508-Bruch. Unter Swift Compiler, Known Issues: „A computed property with both an init accessor and an array/dictionary literal initial value will no longer compile if the getter is declared before the init accessor.“ (Eine berechnete Property mit init-Accessor und einem Array- oder Dictionary-Literal als Startwert kompiliert nicht mehr, wenn der Getter vor dem init-Accessor deklariert ist.) Es folgt ein Codelisting, dann die Zuordnung: „This is a known source break from SE-0508.“ (Dies ist ein bekannter Source Break aus SE-0508.) Der Workaround im vollen Wortlaut: „Swap the init accessor and the getter such that the init accessor is declared first.“ (Tauschen Sie init-Accessor und Getter, sodass der init-Accessor zuerst deklariert ist.)2 SE-0508 ist „Array expression trailing closures“ (Trailing Closures in Array-Ausdrücken), umgesetzt in Swift 6.4, und der Proposal sagt genau diesen Fall voraus: „If the getter is declared before the init accessor, we will now attempt to parse as a trailing closure.“ (Steht der Getter vor dem init-Accessor, versuchen wir jetzt, als Trailing Closure zu parsen.) Ergänzend heißt es, „init accessors are however considered for disambiguation, so swapping the accessors is sufficient to make this valid regardless of initial value used.“ (init-Accessoren werden zur Disambiguierung herangezogen, das Tauschen der Accessoren genügt also unabhängig vom Startwert.) und der Fall „does not appear in the source compatibility suite, or for internal Swift projects at Apple.“ (taucht weder in der Source-Compatibility-Suite noch in internen Swift-Projekten bei Apple auf.)7 Ein neunzeiliges Struct reicht zur Reproduktion. Mit dem Getter zuerst scheitert swiftc in der Accessor-Zeile mit error: initializers may only be declared within a type; verschieben Sie den init-Accessor mit @storageRestrictions(initializes:) über get, und dieselbe Datei kompiliert.4
struct Container {
private var storage: [Int] = []
var items: [Int] = [] {
@storageRestrictions(initializes: storage)
init(initialValue) { storage = initialValue } // muss vor get stehen
get { storage }
set { storage = newValue }
}
}
PreviewProvider. Der Abschnitt Previews führt eine Deprecation auf: „PreviewProvider and its family of preview modifiers.“ (PreviewProvider und seine Familie von Preview-Modifiern.)2 Das SDK trägt sie, mit einer Meldung für das Protokoll und einer anderen für jeden Modifier. Im SwiftUI-Interface des iOS-27-SDK steht public protocol PreviewProvider unter @available(anyAppleOS, deprecated: 27.0, message: "Use #Preview instead."); previewLayout sagt „Use #Preview(traits: .sizeThatFitsLayout) or .fixedLayout(width:height:) instead.“; previewDisplayName sagt „Use #Preview("name") instead.“; previewInterfaceOrientation sagt „Use #Preview(traits: .landscapeLeft) or other orientation traits instead.“; previewDevice sagt „Use the device picker in Xcode’s canvas.“ (Verwenden Sie die Geräteauswahl im Canvas von Xcode.); und previewContext sagt zusammen mit den Protokollen PreviewContext und PreviewContextKey „Use #Preview with a Widget timeline provider or entries instead.“ (Verwenden Sie stattdessen #Preview mit einem Widget-Timeline-Provider oder Entries.)4 Ob Sie diese Meldungen je zu sehen bekommen, entscheiden zwei Tatsachen. Der Compiler vergleicht eine Deprecation-Version mit dem Deployment Target, die Modifier warnen also nur in einem Target, dessen Minimum 27.0 ist: Eine Datei mit previewLayout, previewDisplayName und previewDevice erzeugte drei Warnungen bei -target arm64-apple-ios27.0-simulator und keine bei 17.0 oder 26.0. Und PreviewProvider selbst warnt nie, aus einem anderen Grund. Das SDK deklariert es mit @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *) direkt über der anyAppleOS-Deprecation, und in meiner Sonde erzeugte ein Protokoll mit diesem Paar bei einem 27.0-Target keine Warnung, weder für eine Konformität noch für die Verwendung als Parametertyp, während dasselbe Protokoll, nur mit @available(iOS, deprecated: 27.0) oder nur mit der anyAppleOS-Form als veraltet markiert, in beiden Fällen warnte; die Modifier tragen an ihren eigenen Deklarationen nur die anyAppleOS-Deprecation (die extension SwiftUICore.View, die sie enthält, trägt das introduced-Attribut, und diese geerbte Form unterdrückt die Warnung nicht), weshalb sie warnen und das Protokoll nicht.4 Bei jedem realen Deployment Target bleibt das Build-Log so oder so stumm; suchen Sie also nach PreviewProvider und den Modifiern und wechseln Sie zu #Preview, das der Canvas über die neue Syntax #Preview(arguments:) jetzt pro Argument in Rastern darstellt.24
Das neue stat() in System. Die Bibliothek System bietet jetzt Swift-APIs für stat, lstat, fstat und fstatat, mit einem Typ Stat und Instanzmethoden FilePath.stat().2 Die Notes führen als behoben einen Konflikt auf, bei dem eine Extension mit einem unqualifizierten stat()-Aufruf mit den neuen Methoden kollidierte; wenn Sie die Qualifikation Darwin. hinzugefügt haben, solange der Konflikt bestand, kann sie bleiben.2
Address Sanitizer, in umgekehrter Richtung. „Address Sanitizer might fail to launch on iOS 27.0, tvOS 27.0, watchOS 27.0, and visionOS 27.0 when building with Xcode 26.4 or older.“ (Address Sanitizer startet unter iOS 27.0, tvOS 27.0, watchOS 27.0 und visionOS 27.0 möglicherweise nicht, wenn mit Xcode 26.4 oder älter gebaut wird.) Der Workaround ist Xcode 26.5 oder neuer, was Teams betrifft, die auf dem CI-Rechner ein älteres Xcode behalten, während die Geräte auf 27.0 aktualisieren.2
Was hat sich in der IDE und den Werkzeugen geändert?
- Interface Builder baut ohne Simulator. Ein neuer Kompilierungsmodus,
toolchain, „for UIKit (Cocoa Touch) based documents. Enabled by default,toolchainallows compiling IB documents without the need to download a simulator, which is especially useful for build servers.“ (für UIKit-basierte Dokumente; standardmäßig aktiv, erlaubt er das Kompilieren von IB-Dokumenten ohne Simulator-Download, was vor allem Build-Servern hilft.)2 - Simulatoren starten schneller und lassen sich neu starten. „The simulator runtimes now contain a pre-built dyld cache. This will make first launch of a simulator much faster.“ (Die Simulator-Runtimes enthalten jetzt einen vorgebauten dyld-Cache, der erste Start eines Simulators wird dadurch deutlich schneller.) Und
simctlbekommt einen Befehlreboot.2 Ein bekanntes Problem überlebt, in Apples Worten: „Some simulator runtimes are not completely deleted when removed, re-appearing after a reboot.“ (Manche Simulator-Runtimes werden beim Entfernen nicht vollständig gelöscht und tauchen nach einem Neustart wieder auf.)2 - Das JSON von devicectl steht bei Version 5.
xcrun devicectl --versionmeldet 642.16, undlist devices --json-outputschreibt"jsonVersion": 5; Apple markiert die FelderhardwareProperties,devicePropertiesundconnectionPropertieszugunsten einesproperties-Dictionarys als veraltet, und jedes Ergebnis, das sie noch enthält, trägt einen_deprecationNotice.24 - StoreKit-Tests. Die StoreKit-Konfigurationsoberfläche kann Angebotscodes definieren, Sie können Abo-Bundles für lokale Tests konfigurieren, und der Transaction Manager kann Käufe mit Angebotscodes ohne Gerät durchspielen.2
- Organizer. Eine Insights Overview „summarizes high-impact performance regressions“ (fasst Performance-Regressionen mit großer Wirkung zusammen), und eine Metrik Hitches ersetzt die Metrik Scrolling.2
- Coding-Assistent. Google Gemini kommt in die Modellliste, und „Planning with agents is now first class in Xcode“ (Planen mit Agenten ist in Xcode jetzt ein vollwertiges Feature), mit Plänen als editierbaren Markdown-Artefakten, die Sie freigeben, bevor der Agent weitermacht; mein Beitrag zu Coding-Agenten beschreibt den Workflow aus der Beta, und die GA-Notes führen einen Markdown-Editor für genau diese Artefakte auf.2
- Lokalisierung. Agenten können Einträge im String Catalog übersetzen, und der Export von Lokalisierungen extrahiert jetzt
NSLocalizedStringund ähnliche Makros aus Header-Dateien.2 - Icon Composer. Die Notes nennen es Icon Composer 2.0, „a new sharper rendering mode for upcoming 2027 operating systems“ (ein neuer, schärferer Rendering-Modus für die kommenden Betriebssysteme von 2027); das Bundle in 27A266a meldet Version 27.0.24
- Testing. Ein Testplan kann festlegen, wie Xcode einen Absturz der Ziel-App während UI-Tests behandelt, von aus bis fataler Fehler, und
swift testbekommt--maximum-repetitionsmit--repeat-until [pass|fail]sowie eine Fehlerzusammenfassung am Ende.2 - Debugging. Mit Bridging Headern gilt für LLDB: „can now directly import explicitly built Swift modules and PCH from DerivedData“ (LLDB kann jetzt explizit gebaute Swift-Module und PCH direkt aus DerivedData importieren), und ein Befehl
language swift task treelistet Swift-Concurrency-Tasks auf.2
Was ich diese Woche tun würde
- Lesen Sie die Kompatibilitätszeilen, bevor Sie CI anfassen: macOS 26.6 auf den Build-Macs, nur Apple Silicon, iOS 17 als ältestes Testgerät und je nach Produkt macOS 12, watchOS 9 oder DriverKit 21.23
- Greppen Sie nach
-ld_classicund-ld64und entfernen Sie beides; der Linker ignoriert das erste mit einer Warnung bei jedem Link und scheitert am zweiten komplett. Wenn Sie schon in den Build-Einstellungen sind, suchen Sie nach handgeschriebenenmodule.modulemap-Dateien, die ein SDK-Modul erneut deklarieren, die Konstellation, die Apple für die Regel eindeutiger Modulnamen nennt.24 - Wenn Sie ein macOS- oder DriverKit-Target auf 27.0 setzen und Intel ausliefern, setzen Sie
ARCHSexplizit;ARCHS_STANDARDallein liefert arm64, was ich für macOS nachvollzogen habe und Apple für beide angibt.24 - Suchen Sie nach
PreviewProvider,previewLayout,previewDisplayNameundpreviewDeviceund folgen Sie der Meldung der jeweiligen Annotation: das Protokoll zu#Preview,previewLayoutzu#Preview(traits: .sizeThatFitsLayout)oder.fixedLayout(width:height:),previewDisplayNamezu#Preview("name")undpreviewDevicezur Geräteauswahl im Canvas. Die Modifier warnen nur bei einem Deployment Target von 27.0, und diePreviewProvider-Konformität warnt bei keinem Target, das Build-Log eines ausgelieferten Targets bleibt also stumm.4 - Bauen Sie einmal mit Xcode 27 und achten Sie auf zwei Diagnosen:
variable 'self.title' used before being initializedbei einem Initializer, der einer@State-Property mit Wert an der Deklaration vor den anderen gespeicherten Properties etwas zuweist, was der Beitrag zum @State-Makro Schritt für Schritt durchgeht, undinitializers may only be declared within a typebei Properties mit einem Array- oder Dictionary-Literal als Startwert und einem init-Accessor, wo Sie den Accessor über den Getter verschieben.246 - Laden Sie jetzt, da App Store Connect sie annimmt, einen TestFlight-Build mit den 27er-SDKs hoch, und behalten Sie die Launch-Screen-Regel und die UIKit-Scene-Pflicht im Blick, denn beide binden eine App in dem Moment, in dem sie gegen 27 linkt.56
Häufige Fragen
Wann ist Xcode 27 erschienen?
Am Montag, dem 14. September 2026, als Build 27A266a, am selben Tag wie iOS 27.0, iPadOS 27.0, macOS 27.0, tvOS 27.0, visionOS 27.0 und watchOS 27.0; der Feed datiert seinen Eintrag iOS 27.0 RC (24A437) auf den 11. September, zwei Tage nachdem App Store Connect begonnen hatte, RC-SDK-Builds anzunehmen.15
Welches macOS setzt Xcode 27 voraus?
macOS Tahoe 26.6 oder neuer auf einem Mac mit Apple Silicon. Auf Intel-Macs lässt es sich weder installieren noch ausführen. Es läuft unter macOS 27.0, das am selben Tag erschien.23
Was sind die Mindest-Deployment-Targets in Xcode 27?
iOS 15, iPadOS 15, tvOS 15, watchOS 9, visionOS 1, macOS 12 und DriverKit 21. Verglichen mit Xcode 26.6 stieg watchOS von 8, macOS von 11 und DriverKit von 20.3
Baut Xcode 27 noch Universal-Apps für den Mac?
Ja, bis zurück zu macOS 12, aber nicht mehr standardmäßig, sobald das MACOSX_DEPLOYMENT_TARGET eines Targets 27.0 ist: ARCHS_STANDARD löst dann nur noch zu arm64 auf, und Sie fügen x86_64 selbst zu ARCHS hinzu.24
Ist Xcode 27.1 draußen?
Nicht mit Stand 15. September 2026. Apples Releases-Feed und der Index der Xcode Release Notes führen nur Xcode 27, und Apples Entwicklerseite zum iPhone Duo listet die Xcode-27.1-Beta weiterhin als „Coming later this month“ (kommt später in diesem Monat); das iPhone-Duo-SDK ist nicht Teil dieser Veröffentlichung.1 (17. September: weiterhin kein 27.1. Die Xcode-27.2-Beta (27B5019j) erschien am 16. September, und ihre Release Notes sagen, das iOS SDK und die Simulator-Unterstützung für das iPhone Duo „will be available later this month in an upcoming release of Xcode 27.1.“ (werden später in diesem Monat mit einer kommenden Version von Xcode 27.1 verfügbar sein.)9) (19. September: als Beta, ja. Xcode 27.1 Beta (27A9269) erschien am 18. September mit einem iOS-27.1-SDK und, in den Worten der 27.2-Beta-Notes, „simulator support for iPhone Duo,“ (Simulator-Unterstützung für das iPhone Duo), und App Store Connect nimmt seine Builds für TestFlight an; ein 27.1-Release gibt es noch nicht, und Apples News-Beitrag vom 16. September sagt, das iPhone Duo laufe beim Verkaufsstart am 23. Oktober mit iOS 27.1 („will run iOS 27.1“).10) (1. Oktober: weiterhin nur die erste 27.1 Beta, 27A9269.11) (11. Oktober: als Release Candidate ja. Xcode 27.1 RC (27A9275) ist am 5. Oktober mit Swift 6.4 und dem iOS-27.1-SDK erschienen, und App Store Connect nimmt seine Builds für den App Store an; ein finales Xcode 27.1 führt der Releases-Feed noch nicht.12) (14. Oktober: weiterhin der RC; Xcode 27.2 Beta 3 erschien an diesem Tag, ohne ein Release von Xcode 27.1 daneben.13) (15. Oktober: ja, als Release. Xcode 27.1 (27A9275), der Build des RC, ist in Apples Releases-Feed auf 13:00 Uhr pazifischer Zeit datiert; die Notes-Seite heißt jetzt „Xcode 27.1 Release Notes“, und der Eintrag von App Store Connect für diesen Tag lautet „You can now upload apps built with Xcode 27.1 using the SDK for iOS 27.1, 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.1 und dem SDK für iOS 27.1, iPadOS 27.0, macOS 27.0, tvOS 27.0, visionOS 27.0 und watchOS 27.0 gebaut wurden, lassen sich jetzt für den App Store sowie für interne und externe Tests über TestFlight hochladen)14)
Wo stehen die Release Notes zu Xcode 27?
Auf Apples Entwicklerdokumentationsseite unter Xcode Release Notes, eine Seite pro Release; die hier zitierten Abschnitte sind Overview, Linking, Intel Deprecation, Previews, Swift Compiler, Address Sanitizer, Instruments, Device Hub, devicectl, Simulator, Interface Builder, C++ Standard Library, Organizer, Coding Intelligence, Source Editor, Icon Composer, StoreKit Testing in Xcode, Localization, Testing, Swift Package Manager, Debugging und System sowie, seit dem Update vom 17. September, Enhanced Security.29 Die Änderung am @State-Makro steht stattdessen in den Release Notes zu iOS und iPadOS 27, unter SwiftUI.6
Quellen
-
Apple, Releases, RSS-Feed abgerufen am 15. September 2026: „Xcode 27 (27A266a)“, „iOS 27.0 (24A437)“, „iPadOS 27.0 (24A437)“, „macOS 27.0 (26A428)“, „tvOS 27.0 (24J361)“, „visionOS 27.0 (24M362)“, „watchOS 27.0 (24R364)“ und „App Store Connect Update“, alle datiert auf Mo., 14. Sep. 2026; „iOS 27.0 RC (24A437)“ datiert auf Fr., 11. Sep. 2026. Der Index der Xcode Release Notes führt einen einzigen 27er-Eintrag, „Xcode 27 Release Notes“; ein 27.1-Eintrag erscheint an keiner der beiden Stellen. Apple Developer, Get Ready for iPhone Duo, abgerufen am 15. September 2026: „Xcode 27.1 beta. Get the latest SDKs to build, run, and test your app for iPhone Duo. Coming later this month“. ↩↩↩↩↩
-
Apple, Xcode 27 Release Notes, abgerufen am 15. September 2026 nach der GA-Veröffentlichung. Zitierte Abschnitte: Overview; Linking, Deprecations („The ld64 linker has been removed and the
-ld_classicoption is no longer supported.“ 165165518); Intel Deprecation, New Features (ARCHS_STANDARD, 161837535) und Deprecations (nur Apple Silicon, vollständig zitiert, 162138432); Previews, Deprecations („PreviewProviderand its family of preview modifiers.“ 144168701) und New Features (#Preview(arguments:), 167544057); Swift Compiler, New Features (Abhängigkeitsscanner und die Anforderung eindeutiger Modulnamen, auszugsweise, 136303612) und Known Issues (SE-0508, 180969028; Workaround-Satz vollständig zitiert); System, New Features und Resolved Issues (177911316); Address Sanitizer, Known Issues (178072780); Instruments, Deprecations (166097304); Device Hub, Deprecations (160482487); devicectl, New Features (170812159) und Deprecations (183772705); Simulator, New Features (179846743, 172303413) und Known Issues (141290052); Interface Builder, New Features; C++ Standard Library, New Features und Deprecations; Organizer; Coding Intelligence (171990272, 172857081); Source Editor, New Features (Markdown-Editor, 175022151); Localization; Icon Composer; StoreKit Testing in Xcode; Testing; Swift Package Manager, New Features (--maximum-repetitions, 177561078; Fehlerzusammenfassung, 168311253); Debugging. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Apple, Xcode support: minimum requirements and supported SDKs, abgerufen am 15. September 2026. Zeile Xcode 27: macOS Tahoe 26.6 oder neuer; SDKs iOS 27, tvOS 27, watchOS 27, visionOS 27, macOS 27, DriverKit 27; Deployment Targets iOS 15 bis 27, iPadOS 15 bis 27, tvOS 15 bis 27, watchOS 9 bis 27, visionOS 1 bis 27, macOS 12 bis 27, DriverKit 21 bis 27; Geräteunterstützung iOS 17, tvOS 17, watchOS 10, visionOS 1 oder neuer; Simulator iOS 17, tvOS 17, watchOS 10, visionOS 1 oder neuer; Swift-6.4-Compiler mit den Sprachmodi 6, 5, 4.2 und 4. Zeile Xcode 26.6: macOS Tahoe 26.2 bis 26.x; SDKs bei 26.5 mit DriverKit 25.5; Deployment Targets iOS 15, tvOS 15, watchOS 8, visionOS 1, macOS 11, DriverKit 20; Geräte- und Simulatorunterstützung ab iOS 15, tvOS 15, watchOS 8, visionOS 1; Swift 6.3. ↩↩↩↩↩↩
-
Reproduktion des Autors auf Xcode 27.0 (27A266a) mit darauf zeigendem
DEVELOPER_DIR, macOS 26.6.2 (25G83), 15. September 2026.xcodebuild -version: „Xcode 27.0 Build version 27A266a“;swift --version: „Apple Swift version 6.4 (swiftlang-6.4.0.34.1 clang-2100.3.34.1)“; dasusr/binder Toolchain listet einen Linker,ld, undld -vgibt „PROJECT:ld-27037.1“ aus, gebaut am „Aug 25 2026“; mit einerhello.c, dieint main(void){return 0;}enthält, gabclang hello.o -o hello_classic -Xlinker -ld_classicdie Meldung „ld: warning: -ld_classic is no longer supported and will be ignored“ aus und endete mit 0, undclang hello.c -o hello_ld64 -Wl,-ld64gab „ld: library ‘d64’ not found“ und „clang: error: linker command failed with exit code 1 (use -v to see invocation)“ aus und endete mit 1 ohne Ausgabedatei.xcodebuild -showBuildSettings -sdk macosxauf Yawara.xcodeproj, einem Multiplattform-Projekt (SUPPORTED_PLATFORMS = iphoneos iphonesimulator macosx xros xrsimulator), das ohne-sdk-Argument keineARCHS_STANDARD-Zeile ausgibt:ARCHS_STANDARD = arm64 x86_64beiMACOSX_DEPLOYMENT_TARGET = 26.0,ARCHS_STANDARD = arm64bei 27.0,ARCHS_STANDARD_64_BIT = arm64 x86_64in beiden Fällen. Das neunzeilige StructContainermitvar items: [Int] = []und einem Accessor@storageRestrictions(initializes: storage) init(initialValue): Getter zuerst scheitert mit „error: initializers may only be declared within a type“ in derinit-Zeile; Accessor zuerst kompiliert mit Exit 0.SwiftUI.swiftmodule/arm64e-apple-ios.swiftinterfaceim iPhoneOS-27.0-SDK:@available(anyAppleOS, deprecated: 27.0, message: "Use #Preview instead.")in den Zeilen 14971 (public protocol PreviewProvider), 14978 (seine Extension) und 14991 (PreviewPlatform); „Use #Preview with a Widget timeline provider or entries instead.“ bei 15023 (PreviewContextKey), 15029 (PreviewContext) und 15069 (previewContext); „Use the device picker in Xcode’s canvas.“ bei 15053 (previewDevice); „Use #Preview(traits: .sizeThatFitsLayout) or .fixedLayout(width:height:) instead.“ bei 15058 (previewLayout); „Use#Preview("name")instead.“ bei 15063 (previewDisplayName); „Use #Preview(traits: .landscapeLeft) or other orientation traits instead.“ bei 15075 (previewInterfaceOrientation); einswiftc -ceiner bloßenPreviewProvider-Konformität gab bei-target arm64-apple-ios27.0-simulator,ios26.0undios17.0keine Warnung aus; eine Datei, diepreviewLayout(.sizeThatFits),previewDisplayName("Card")undpreviewDevice(PreviewDevice(rawValue: "iPhone 18 Pro"))innerhalb einesPreviewProvideranwendet, gab beiios27.0drei[#DeprecatedDeclaration]-Warnungen aus („’previewLayout’ was deprecated in any Apple OS 27.0: Use #Preview(traits: .sizeThatFitsLayout) or .fixedLayout(width:height:) instead.“ sowie die passenden Meldungen zupreviewDisplayNameundpreviewDevice) und keine beiios26.0oderios17.0. Eine Sonde mit vier Protokollen, jedes mit einem konformen Struct und einemany P-Parameter in einer Funktionssignatur, kompiliert bei-target arm64-apple-ios27.0-simulator:@available(iOS, deprecated: 27.0)allein,@available(anyAppleOS, deprecated: 27.0)allein und@available(iOS 13.0, *)über@available(iOS, deprecated: 27.0)warnten jeweils an der Konformitätszeile und am Parametertypany P(„’P1’ was deprecated in iOS 27.0“, „’P2’ was deprecated in any Apple OS 27.0“, „’P4’ was deprecated in iOS 27.0“), während das Paar des SDK,@available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)über@available(anyAppleOS, deprecated: 27.0), an keiner der beiden Stellen warnte; die Methodenaufrufe über diese Existentials erzeugten bei keinem der vier eine Diagnose, und beiios26.0warnte keines der vier. Im Interface stehtPreviewProviderin den Zeilen 14970 bis 14972 unter genau diesem Paar;previewLayoutin den Zeilen 15058 bis 15059 trägt an seiner eigenen Deklaration nur dieanyAppleOS-Deprecation, innerhalb einerextension SwiftUICore.View, deren introduced-Attribut in Zeile 15051 steht. Eine Datei mit zwei Views, die innerhalb voninit(title:)jeweils_page = State(initialValue: StickerPage(title: title))zuweisen, eine mit@State private var page: StickerPageund eine mit@State private var page = StickerPage(), kompilierte beiios27.0mit Exit 0 und ohne Diagnosen. Die@State-Sonden, jeweils eineStickerPageViewmit@State private var pageundlet title: String, kompiliert mitswiftc -c -target arm64-apple-ios27.0-simulatorgegen das iPhoneSimulator-27.0-SDK: Apples erstes Beispiel,@State private var page = StickerPage()mit eineminit(title:), das erstself.pageund dannself.titlezuweist, scheiterte mit „error: variable ‘self.title’ used before being initialized“ in derself.page-Zeile, Exit 1; dieselbe Datei mitself.title = titleüber dieself.page-Zuweisung verschoben kompilierte, Exit 0; Apples zweites Beispiel,@State private var page: StickerPageohne Startwert und eine Extension, dieself.init(page: page, title: title)aufruft, kompilierte, Exit 0, und-Xfrontend -dump-macro-expansionszeigte, dass das Makroprivate var _page: SwiftUICore.State<StickerPage>mit einem Accessor@storageRestrictions(initializes: _page) init(initialValue)erzeugt.xcrun devicectl --version: 642.16;devicectl list devices --json-outputschrieb"jsonVersion": 5. DieInfo.plistvon Icon Composer in 27A266a:CFBundleShortVersionString27.0. Module-Map-Sonden gegen das iPhoneSimulator-27.0-SDK bei-target arm64-apple-ios27.0-simulator: zwei Verzeichnisse mit je einermodule.modulemap, diemodule Widgetdeklariert, plus eine einzelnemain.swift, die es importiert; mit beiden im Suchpfad endeteswiftc -typecheckin 20 von 20 Läufen mit Exit 1 („error: redefinition of module ‘Widget’“, „note: previously defined here“) undswiftc -scan-dependenciesin 20 von 20 Läufen mit Exit 0, wobei es bei jedem Lauf denselben Fehler samt Hinweis auf stderr ausgab und einen Graphen schrieb, dessenWidget-Eintrag auf die Module Map des ersten Verzeichnisses zeigt, und auf die Map des anderen Verzeichnisses, sobald ich die beiden-I-Argumente vertauscht hatte; ein Scan mit einer im Suchpfad liegendenVendor/module.modulemap, dieSQLite3deklariert, endete in 20 von 20 Läufen mit Exit 0 und leerem stderr und lösteSQLite3zur eingebetteten Module Map auf, und eine Datei, diesqlite3_openaufruft, scheiterte an der Typprüfung mit „error: cannot find ‘sqlite3_open’ in scope“, bis das Verzeichnis den Suchpfad verließ. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Apple, App Store Connect release notes, abgerufen am 15. September 2026. Der Eintrag vom 14. September 2026 ist in der Tabelle oben vollständig zitiert; die Einträge vom 9. September 2026 halten RC-SDK-Uploads fest und ergänzen Screenshot- und App-Vorschau-Spezifikationen für iPhone Duo, iPhone 18 Pro Max, iPhone 18 Pro, Apple Watch Ultra 4 und Apple Watch Series 12, mit „Support for uploading assets for iPhone Duo in App Store Connect will be available later this year.“ (Das Hochladen von Assets für das iPhone Duo in App Store Connect wird später in diesem Jahr möglich.) ↩↩↩↩↩
-
Apple, iOS & iPadOS 27 Release Notes, SwiftUI, New Features (105893279), abgerufen am 15. September 2026. Quelle von „Xcode 27 introduces a new
@Stateimplementation that avoids this repeated evaluation. This new behavior back-deploys to iOS 17 aligned OSes. The new@Stateis implemented with a Swift macro. It is largely source compatible with the property wrapper version, with a few exceptions.“; von „If you provide an initial value at@Statedeclaration, and also try to assign a value to it in an initializer, the initializer value is discarded. This behavior has not changed because of the macro, but some such cases no longer compile:“ mit demStickerPageView-Listing; von „When all stored members of a struct are private, the compiler synthesizes a private init that can be used in an extension of the same type:“ mit seinem Listing; und von „The state macro disables this synthesized initializer. So the code above no longer compiles. To mitigate, assign value to members explicitly:“; außerdem der beiden Ausnahmen ohne Listing, „In rare situations, the automatic inference of generic arguments of@Stateis less flexible with the macro implementation. Write the type with more specificity.“ und „Composing@Statewith other property wrappers or macros is not supported.“ Der UIKit-Abschnitt desselben Dokuments enthält die beiden in Schritt 6 zitierten Anforderungen: New Features, „iOS and iPadOS apps built with the 27.0 SDK or later are required to include a launch screen.“ (168247372), und Deprecations, „Apps built with the latest SDK must adopt the scene-based life cycle or they fail to launch.“ (141837548). ↩↩↩↩↩↩↩↩↩↩↩ -
Cal Stephens, SE-0508: Array expression trailing closures, Swift Evolution, Status „Implemented (Swift 6.4)“, Implementierung swiftlang/swift#86244, abgerufen am 15. September 2026. Der Unterabschnitt „Init accessors“ ist die Quelle von „One other case where this can result in an error is for properties with both an
initaccessor and initial value that is either an array or dictionary literal. If the getter is declared before theinitaccessor, we will now attempt to parse as a trailing closure:“, des oben zitierten Satzes zur Disambiguierung und von „This particular case appears to be quite rare in practice, it does not appear in the source compatibility suite, or for internal Swift projects at Apple.“ ↩ -
Apple, Xcode 15 Release Notes, Linking, New Features (108915312), abgerufen am 15. September 2026: „The classic linker can still be explicitly requested using -ld64, and will be removed in a future release.“ (Der klassische Linker lässt sich mit -ld64 weiterhin explizit anfordern und wird in einer künftigen Version entfernt.) ↩↩
-
Apple, Releases, RSS-Feed abgerufen am 17. September 2026, letztes Build-Datum Wed, 16 Sep 2026 14:00:00 PDT. Einträge datiert auf Mi., 16. Sep. 2026: „TestFlight Update“, „Xcode 27.2 beta (27B5019j)“, „iOS 27.2 beta (24B5084k)“, „iPadOS 27.2 beta (24B5084k)“, „macOS 27.2 beta (26B5086k)“, „tvOS 27.2 beta (24K5088l)“, „visionOS 27.2 beta (24N5088l)“, „watchOS 27.2 beta (24S5086l)“; kein Eintragstitel enthält 27.1. Apple, Xcode 27.2 Beta Release Notes, am 17. September 2026 über den Dokumentations-JSON-Endpunkt abgerufen: Overview (der Satz zum iPhone Duo und die Anforderung macOS Tahoe 26.6), Project Format, New Features (184661114), SDK, Known Issues (187160501). Die Abschnitte der Notes sind General, Device Hub, Previews, Previews & Playgrounds, Project Format, SDK und Simulator; keiner erwähnt ld64, Modulnamen,
@StateoderPreviewProvider. Die am selben Tag erneut abgerufenen Xcode 27 Release Notes tragen die in diesem Beitrag zitierten Xcode-27-Einträge unverändert sowie einen Eintrag, der am 16. September fehlte: Enhanced Security, Known Issues (187057599), zitiert im Update. Das Known Issue unter Simulator in den Notes zur 27.2-Beta ist 141290052. ↩↩↩↩↩↩↩↩ -
Apple, Releases, RSS-Feed abgerufen am 19. September 2026, letztes Build-Datum Fri, 18 Sep 2026 14:00:00 PDT: „Xcode 27.1 beta (27A9269)“ datiert Fri, 18 Sep 2026 10:00:00 PDT und „TestFlight Update“ datiert Fri, 18 Sep 2026 14:00:00 PDT. Apple, Xcode 27.1 Beta Release Notes, abgerufen über den Dokumentations-JSON-Endpunkt am 19. September 2026: Overview (zitiert für die SDK-Liste und die Voraussetzung macOS Tahoe 26.6); Mac Catalyst, Known Issues (185924957, 187046347, jeweils mit Workaround); Previews, New Features (182598534); Simulator, Known Issues (187708500, 187708663, 187708767); weitere Abschnitte enthalten die Notes nicht. Der am selben Tag abgerufene Index der Xcode Release Notes führt Xcode 27 Release Notes, Xcode 27.1 Beta Release Notes und Xcode 27.2 Beta Release Notes. Apple, App Store Connect Release Notes, 18. September 2026, TestFlight update, vollständig zitiert. Apple, Xcode 27.2 Beta Release Notes, abgerufen am 17. und am 19. September 2026: Die beiden Abrufe unterscheiden sich nur im Overview, wo der Satz vom 17. September „The iOS SDK and simulator support for iPhone Duo will be available later this month in an upcoming release of Xcode 27.1.“ durch den Hinweis „Download Xcode 27.1 beta to get the iOS SDK and simulator support for iPhone Duo.“ ersetzt ist, dessen Link auf https://developer.apple.com/download/applications/ zeigt. Die am 19. September abgerufenen Xcode 27 Release Notes sind mit dem Abruf vom 17. September identisch. Apple, „Get ready with the latest beta releases“, News, 16. September 2026: „When iPhone Duo becomes available on October 23, it will run iOS 27.1.“ Apple, „App Store submissions now open for the latest OS releases“, News, 9. September 2026, der Absatz, der mit „Starting April 2027“ beginnt, zitiert; Apple, Upcoming Requirements, abgerufen am 19. September 2026, neuester Eintrag „SDK minimum requirements“, „Since April 28, 2026“. Apple, ArrangementView, Dokumentations-JSON abgerufen am 19. September 2026, Verfügbarkeit iOS 27.1 und iPadOS 27.1, als Beta markiert. Dieselbe Verfügbarkeit, iOS 27.1 und iPadOS 27.1 als Beta, steht auf den Seiten zu UIArrangementViewController, reservedRegions(kind:options:layoutDirectionBehavior:), reservedRegions(kind:options:) und toolbarVerticalBehavior(_:), jeweils am selben Tag abgerufen. ↩↩↩↩↩↩↩↩↩↩
-
Apple, Releases, RSS-Feed abgerufen am 1. Oktober 2026: „Xcode 27.2 beta 2 (27B5028f)“ datiert Mon, 28 Sep 2026 10:00:00 PDT, neben „iOS 27.0.1 (24A446)“, „iPadOS 27.0.1 (24A446)“, „macOS 27.0.1 (26A434)“, „visionOS 27.0.1 (24M372)“ und, um 13:00:00 PDT, „watchOS 27.0.1 (24R365)“; die Xcode-Einträge des Feeds sind „Xcode 27.2 beta 2 (27B5028f)“, „Xcode 27.1 beta (27A9269)“, „Xcode 27 (27A266a)“ und „Xcode 26.6 (17F113)“. Apple, Xcode 27.2 Beta 2 Release Notes und Xcode 27 Release Notes, abgerufen über den JSON-Endpunkt der Dokumentation am 1. Oktober 2026; der Text der Xcode-27-Seite stimmt mit dem Abruf vom 26. September überein. ↩↩↩↩
-
Apple, Releases, RSS-Feed abgerufen am 11. Oktober 2026, letztes Build-Datum Tue, 06 Oct 2026 10:00:00 PDT: „Xcode 27.1 RC (27A9275)“ datiert Mon, 05 Oct 2026 10:00:00 PDT; die Xcode-Einträge des Feeds sind „Xcode 27.1 RC (27A9275)“, „Xcode 27.2 beta 2 (27B5028f)“, „Xcode 27.1 beta (27A9269)“, „Xcode 27 (27A266a)“ und „Xcode 26.6 (17F113)“. Apple, App Store Connect release notes, abgerufen am 11. Oktober 2026, Eintrag vom 5. Oktober 2026, „App Store Connect updates“, zitiert. Apple, Xcode 27.1 RC Release Notes, abgerufen am 11. Oktober 2026, Overview: „Xcode 27.1 RC includes Swift 6.4 and SDKs for iOS 27.1, iPadOS 27, tvOS 27, watchOS 27, macOS 27, and visionOS 27.“ ↩↩↩
-
Apple, Releases, RSS-Feed abgerufen am 15. Oktober 2026 um 04:36 UTC (14. Oktober, 21:36 Uhr pazifischer Zeit): „Xcode 27.2 beta 3 (27B5038j)“ datiert Wed, 14 Oct 2026 10:00:00 PDT; „iOS 27.2 beta 4 (24B5110a)“, „iPadOS 27.2 beta 4 (24B5110a)“, „macOS 27.2 beta 4 (26B5112a)“, „visionOS 27.2 beta 4 (24N5114a)“ und „watchOS 27.2 beta 4 (24S5112a)“ datiert Tue, 13 Oct 2026 10:00:00 PDT; die Xcode-Einträge des Feeds sind „Xcode 27.2 beta 3 (27B5038j)“, „Xcode 27.1 RC (27A9275)“, „Xcode 27.1 beta (27A9269)“, „Xcode 27 (27A266a)“ und „Xcode 26.6 (17F113)“. Apple, Xcode 27.2 Beta 3 Release Notes, am 15. Oktober 2026 um 04:38 UTC (14. Oktober, 21:38 Uhr pazifischer Zeit) über den Dokumentations-JSON-Endpunkt abgerufen und mit der Kopie der Beta 2 verglichen, die für den HomeView-Beitrag am 14. Oktober 2026 um 05:09 UTC (13. Oktober, 22:09 Uhr pazifischer Zeit) gesichert wurde: kein Hinweis; Interface Builder, Resolved Issues (186354589, 187747632); Simulator Runtimes, Known Issues (188407822); Simulator, Resolved Issues in Xcode 27.2 Beta 2 (141290052, 187950199). Apple, Xcode 27 Release Notes, am 15. Oktober 2026 um 05:03 UTC (14. Oktober, 22:03 Uhr pazifischer Zeit) über den Dokumentations-JSON-Endpunkt abgerufen: Der Inhalt ist identisch mit einer am 11. Oktober 2026 gesicherten Kopie, und 141290052 steht weiterhin unter Simulator, Known Issues. Apple, App Store Connect release notes, abgerufen am 15. Oktober 2026 um 05:04 UTC (14. Oktober, 22:04 Uhr pazifischer Zeit), Eintrag vom 14. Oktober 2026, „TestFlight update“: „You can now submit apps built with Xcode 27.2 beta 3 using the SDK for iOS 27.2 beta 4, iPadOS 27.2 beta 4, macOS 27.2 beta 4, tvOS 27.2 beta 3, visionOS 27.2 beta 4, and watchOS 27.2 beta 4 for internal and external testing.“ ↩↩↩↩
-
Apple, Releases, RSS-Feed abgerufen am 15. Oktober 2026 um 17:16 Uhr pazifischer Zeit (00:16 UTC, 16. Oktober): „Xcode 27.1 (27A9275)“, datiert auf Thu, 15 Oct 2026 13:00:00 PDT, dieselbe Build-Nummer wie der RC-Eintrag vom 5. Oktober im Abruf vom 11. Oktober, den der Feed nicht mehr führt. Apple, Xcode 27.1 Release Notes, abgerufen über den JSON-Endpunkt der Dokumentation am 15. Oktober 2026 um 17:21 Uhr pazifischer Zeit, umbenannt von „Xcode 27.1 RC Release Notes“; Overview: „Xcode 27.1 includes Swift 6.4 and SDKs for iOS 27.1, iPadOS 27, tvOS 27, watchOS 27, macOS 27, and visionOS 27.“; die beiden Known Issues des iPhone-Duo-Simulators, 187708663 und 187708767, unverändert. Apple, App Store Connect release notes, abgerufen am 15. Oktober 2026 um 17:20 Uhr pazifischer Zeit, Eintrag vom 15. Oktober 2026, „App Store Connect updates“: „You can now upload apps built with Xcode 27.1 using the SDK for iOS 27.1, 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.“ und „Submit your iPhone Duo optimized apps and games in App Store Connect today. Starting April 2027, any apps or games submitted will need to include screenshots for iPhone Duo.“ Apples Developer-News-Feed, in derselben Stunde abgerufen, enthält keinen Eintrag zu dem Release. Apple, Xcode 27 Release Notes, abgerufen über den JSON-Endpunkt der Dokumentation am 15. Oktober 2026 um 17:26 Uhr pazifischer Zeit: Der Text ist identisch mit der am 11. Oktober 2026 gesicherten Kopie. Die Xcode-Einträge des Feeds beim Abruf um 17:16 Uhr: „Xcode 27.1 (27A9275)“, „Xcode 27.2 beta 3 (27B5038j)“, „Xcode 27.1 beta (27A9269)“, „Xcode 27 (27A266a)“ und „Xcode 26.6 (17F113)“. ↩↩↩↩
-
Apple, Releases, RSS-Feed abgerufen am 26. Oktober 2026 um 16:12 Uhr pazifischer Zeit: „iOS 27.2 (24B91020)“, „iOS 27.2 (24B119)“, „iPadOS 27.2 (24B119)“, „macOS 27.2 (26B123)“, „tvOS 27.2 (24K122)“, „visionOS 27.2 (24N120)“ und „watchOS 27.2 (24S118)“, datiert Mon, 26 Oct 2026 10:00:00 PDT; „TestFlight 4.4.1“, datiert Thu, 22 Oct 2026 14:00:00 PDT; „Xcode 27.2 RC (27B48)“, datiert Mon, 19 Oct 2026 10:00:00 PDT, der neueste Xcode-Eintrag; kein Eintragstitel nennt ein Release von iOS 27.1. Apple, Xcode 27.2 RC Release Notes, abgerufen über den JSON-Endpunkt der Dokumentation am 26. Oktober 2026, ausgeliefert mit Last-Modified Mon, 19 Oct 2026 04:56:10 GMT: Overview, zitiert; Device Hub, New Features (189236369), Resolved Issues (188313956, 188326513), Known Issues (189261485 mit FB25077755, 189465196 mit Workaround), zitiert; Instruments (168530263), Memory Gauge (187611943), XCTest UI Automation (188422137); Mac Catalyst, Known Issues (185924957); SDK, Known Issues (187160501), zitiert; Simulator, Resolved Issues (190126101, 190155353). Apple, App Store Connect release notes, abgerufen am 26. Oktober 2026: Eintrag vom 20. Oktober 2026, vollständig zitiert; 22. Oktober 2026, „TestFlight update“: „TestFlight 4.4.1 is now available on the App Store for iPhone and iPad. This update includes: Support for iPhone Duo. Stability improvements and bug fixes.“ Apple Support, „Apple security releases“, abgerufen am 26. Oktober 2026: die Zeile „iOS 27.1“, „This update has no published CVE entries.“, „iPhone Duo“, „23 Oct 2026“. Apple Newsroom, „iPhone Duo arrives at Apple Store locations worldwide“, 23. Oktober 2026: „On Friday, October 23, the highly anticipated iPhone Duo made its debut at Apple Store locations worldwide.“ Der Index iOS & iPadOS Release Notes, abgerufen am 26. Oktober, führt nur „iOS & iPadOS 27 Release Notes“ und „iOS & iPadOS 27.2 Release Notes“. Mac des Autors, 26. Oktober 2026, Xcode 27.1 (27A9275): Die
SystemVersion.plistder SDKs iPhoneOS und iPhoneSimulator 27.1 meldenProductBuildVersion24A94232. ↩