iOS 18 – Der Entwickler-Guide
Alle News, APIs und Änderungen an einem Ort
Disclaimer
Die Inhalte dieser Website basieren auf eigenen Erfahrungen sowie auf öffentlich zugänglichen Quellen wie offiziellen Apple-Dokumentationen, WWDC-Sessions, Entwickler-Blogs und Community-Beiträgen. Alle Inhalte wurden eigenständig aufbereitet und zusammengefasst. Es wird keine Gewähr für Vollständigkeit oder Aktualität übernommen. Alle genannten Marken, Produkte und Technologien gehören den jeweiligen Inhabern. Apple, iOS, iPadOS, macOS, watchOS, SwiftUI, Swift, Xcode, Apple Intelligence und TestFlight sind Marken von Apple Inc.
Apple Plattformen 18
Stand: Juni 2026 – Vollständig veröffentlicht iOS 18 und die weiteren Apple-Plattformen 2024 sind komplett in der Produktion. iOS 18.5 ist die letzte veröffentlichte Version dieser Generation. iOS 26 (ehemals iOS 19) ist der Nachfolger (veröffentlicht September 2025).
Quelle: Apple Developer Releases, Apple iOS 18 Release Notes
Übersicht
| Plattform | Finale Version | Nachfolger |
|---|---|---|
| iOS / iPadOS | 18.5 | iOS/iPadOS 26 |
| macOS | 15.5 (Sequoia) | macOS 26 (Tahoe) |
| watchOS | 11.5 | watchOS 26 |
| tvOS | 18.5 | tvOS 26 |
| visionOS | 2.4 | visionOS 26 |
| Xcode | 16.4 | Xcode 26 |
| Swift | 6.1 | Swift 6.3 |
Wichtige Entwickler-Fristen:
| Datum | Ereignis |
|---|---|
| 16. September 2024 | iOS 18.0 Erstveröffentlichung |
| 28. April 2025 | iOS 18 SDK (Xcode 16) Pflicht für neue App-Einreichungen |
| Oktober 2025 | iOS 18 SDK Pflicht für alle App-Updates |
| Mai 2026 | iOS 18.5 – letzte Version dieser Generation |
Quelle: Apple SDK Fristen
iOS 18
Version 18.0
Veröffentlicht: 16. September 2024 Quelle: Apple iOS 18 Release Notes
Home Screen – Freie Icon-Platzierung
Was ist neu: Erstmals können App-Icons frei auf dem Home Screen platziert werden – nicht mehr nur in einem Raster von oben links. Icons können in die Mitte, unten oder an einer beliebigen Stelle positioniert werden.
Was Entwickler beachten müssen: Kein direkter API-Eingriff nötig. Apps müssen jedoch sicherstellen, dass ihre Icons in allen Systemkontexten gut aussehen.
Dark Mode und Tinted Icons: - Neue Möglichkeit:
System wendet automatisch Tinting auf App-Icons an - Entwickler können
eigene Dark-Mode-Variante und Tinted-Variante des Icons im App Asset
Catalog bereitstellen - Dateinamen im Asset Catalog:
AppIcon, AppIcon-dark,
AppIcon-tinted
<!-- Info.plist – keine Änderung notwendig -->
<!-- Asset Catalog: AppIcon.appiconset mit dark/tinted Varianten befüllen -->
Warum wichtig: Ohne eigene Dark/Tinted-Variante erstellt iOS 18 automatisch eine desaturierte Version. Diese sieht meist schlecht aus. Eigene Varianten sind Pflicht für eine hochwertige Darstellung.
Test: 1. Gerät auf Dark Mode setzen 2. Home Screen → Anpassen → Dunkel wählen 3. Ebenso „Getönt” testen
Control Center – Vollständige Anpassung
Was ist neu: Das Control Center ist vollständig anpassbar. Nutzer können Controls hinzufügen, entfernen und neu anordnen. Drittentwickler können eigene Controls bereitstellen.
ControlWidgetButton / ControlWidgetToggle – neue API:
import WidgetKit
import AppIntents
struct MyToggleControl: ControlWidget {
var body: some ControlWidgetConfiguration {
StaticControlConfiguration(
kind: "com.example.my-toggle",
provider: MyToggleProvider()
) { value in
ControlWidgetToggle(
"Mein Toggle",
isOn: value,
action: MyToggleIntent()
) { isOn in
Label(isOn ? "An" : "Aus", systemImage: isOn ? "power" : "poweroff")
}
}
}
}
Was Entwickler beachten müssen: - Import:
WidgetKit und AppIntents -
ControlWidget Protocol implementieren -
StaticControlConfiguration oder
AppIntentControlConfiguration - Control muss in einer
Widget Extension leben - Deployment Target: iOS 18.0+ - Schlüssel-Typ:
ControlWidgetButton (einmaliges Ausführen) oder
ControlWidgetToggle (Zustand)
Warum wichtig: Erstmals direkter Systemzugriff über das Control Center ohne Siri. Ideal für Smart Home, Timers, App-Shortcuts.
Referenz: WidgetKit Dokumentation
Lock Screen – Austauschbare Steuerelemente
Was ist neu: Die Kamera- und Taschenlampen-Tasten
auf dem Lock Screen sind jetzt durch eigene App-Controls ersetzbar
(erfordert ControlWidget-Implementation).
Was Entwickler beachten müssen: - Gleiche
ControlWidget-API wie Control Center - Lock Screen Controls erscheinen
automatisch, wenn das Widget supportsLockScreen = true
gesetzt hat
RCS-Nachrichten
Was ist neu: iOS 18 unterstützt RCS (Rich Communication Services) – neben SMS/MMS. Damit funktionieren Read Receipts, Tipp-Indikatoren und verbesserte Medienübertragung auch zu Android-Nutzern.
Was Entwickler beachten müssen: - Keine direkte API
für App-Entwickler - Nachrichten-Framework: keine Breaking Changes -
MessageUI-Framework unverändert
Messages – Neue Features
- Geplantes Senden: Nachrichten für einen späteren Zeitpunkt einplanen
- Text-Effekte: Animierte Texteffekte (Groß, Klein, Schütteln, Explodieren, Unsichtbar, usw.)
- Satellite Connectivity: Notfallnachrichten via Satellit (iPhone 14+)
- RCS: Medien in höherer Qualität
Für Entwickler: MessageUI-Framework –
keine Breaking Changes. Neue Text-Effekte sind systemeigen und nicht
programmatisch steuerbar.
Photos – Komplette Neuentwicklung
Was ist neu: Die Fotos-App wurde komplett neu entwickelt. Neue Ansichten: themenbasierte Bibliothek, verbesserte Suche, Pinning von Ansichten.
Was Entwickler beachten müssen: -
PhotosUI Framework: PHPickerViewController und
PhotosPicker (SwiftUI) unverändert - Keine Breaking Changes
in der öffentlichen API - PHAsset-Fetch-Operationen weiterhin gültig
Mail – Kategorien
Was ist neu: Mail sortiert eingehende Nachrichten automatisch in Kategorien: Primär, Transaktionen, Updates, Werbung.
Was Entwickler beachten müssen: - Keine API für Entwickler - Eigene Mail-Apps: unverändert - Marketing-E-Mails landen automatisch unter “Werbung” – Auswirkungen auf Öffnungsraten möglich
Game Mode
Was ist neu: Game Mode reduziert automatisch Hintergrundaktivitäten beim Spielen: CPU/GPU werden priorisiert, AirPods-Audio-Latenz wird reduziert, Game Controller-Polling-Rate erhöht.
API für Entwickler:
import GameKit
// Game Mode Status abfragen
let mode = GKGameActivityType.current
// .playing, .notPlaying, .unknown
// Kein explizites Opt-in notwendig – iOS erkennt aktive Spielsessions automatisch
Warum wichtig: Spiele profitieren automatisch ohne Code-Änderungen. Entwickler können GKAccessPoint nutzen, um Game Center-Features optimal zu integrieren.
Passwords App – Neue Standalone-App
Was ist neu: Passwörter wurden aus den Einstellungen in eine eigene App ausgelagert.
Was Entwickler beachten müssen: - AutoFill über
ASAuthorizationPasswordProvider unverändert -
ASCredentialProviderExtension für Passwort-Manager-Apps
unverändert - Passkey-Support weiterhin via
AuthenticationServices
SharePlay – Remote Control
Was ist neu: SharePlay erlaubt jetzt Remote-Steuerung von iOS-Bildschirmen (mit Erlaubnis des Nutzers).
Version 18.0.1
Veröffentlicht: 3. Oktober 2024 Schwerpunkt: Fehlerbehebungen
- Fix: Reagieren auf Touch-Eingaben in bestimmten Situationen
- Fix: Visual Voicemail Setup konnte stecken bleiben
- Fix: iPhone 16 Kamerasteuerung bei bestimmten Interaktionen
Für Entwickler: Keine API-Änderungen.
Version 18.1
Veröffentlicht: 28. Oktober 2024 Schwerpunkt: Apple Intelligence – Phase 1
Quelle: Apple iOS 18.1 Release Notes
Apple Intelligence – Erste Features
Unterstützte Geräte für Apple Intelligence: - iPhone 15 Pro / iPhone 15 Pro Max - iPhone 16 / 16 Plus / 16 Pro / 16 Pro Max - iPad mit M1-Chip oder neuer - Nicht unterstützt: iPhone 15 / iPhone 15 Plus und ältere iPhones
Writing Tools: Systemweite KI-Schreibhilfe in allen Text-Eingabefeldern. Funktionen: Korrekturlesen, Umschreiben (Neutral, Professionell, Freundlich, Prägnant), Zusammenfassen.
Was Entwickler beachten müssen: Writing Tools
erscheinen automatisch in UITextView und
NSTextView in App-eigenen Kontexten. Opt-out möglich:
// UITextView Writing Tools deaktivieren
textView.writingToolsBehavior = .none
// oder .limited (nur Transformation, kein KI-generierter Text)
Photo Cleanup: Objekte in Fotos können mit KI entfernt werden (ähnlich Google Magic Eraser).
Notification Summaries: iOS 18.1 fasst mehrere Benachrichtigungen einer App in einer Zusammenfassung zusammen.
Was Entwickler beachten müssen: - Keine direkte
API-Kontrolle über Notification Summaries - Entwickler sollten
sicherstellen, dass Benachrichtigungsinhalte verständlich
zusammenfassbar sind - Kritische Benachrichtigungen (Interruption Level
.critical oder .timeSensitive) werden nicht
zusammengefasst
// Benachrichtigungen als zeitkritisch markieren – nicht zusammengefasst
content.interruptionLevel = .timeSensitive
Smart Reply in Messages und Mail: KI-generierte Antwortvorschläge.
Version 18.1.1
Veröffentlicht: 5. November 2024 Schwerpunkt: Sicherheitsupdates
- Sicherheitslücke in JavaScriptCore (WebKit): Fixes
- Kein API-Änderungen für Entwickler
Version 18.2
Veröffentlicht: 11. Dezember 2024 Schwerpunkt: Apple Intelligence – Phase 2
Quelle: Apple iOS 18.2 Release Notes
ChatGPT-Integration in Siri
Was ist neu: Siri kann jetzt ChatGPT (von OpenAI) für komplexe Anfragen nutzen. Nutzer entscheiden selbst, ob sie Anfragen an ChatGPT weiterleiten möchten.
Was Entwickler beachten müssen: - Keine direkte API für Drittanbieter-LLM-Integration in Siri - App Intents bleiben der korrekte Weg, um Siri-Anbindung zu implementieren
Genmoji – Individuelle Emoji
Was ist neu: Nutzer können eigene KI-generierte Emoji (Genmoji) erstellen, die auf ihrer Beschreibung basieren.
Was Entwickler beachten müssen: - Genmoji werden als
Bild-Anhänge in Nachrichten übertragen - Apps, die
NSAttributedString mit Emoji verarbeiten, sollten auf
Kompatibilität prüfen - UITextView mit Genmoji: werden
korrekt dargestellt
Image Playground
Was ist neu: Neue App: Image Playground. Nutzer erstellen KI-Bilder in drei Stilen (Animation, Illustration, Sketch).
Integration in eigene Apps:
import ImagePlayground
// Image Playground Sheet aus einer App öffnen
struct ContentView: View {
@State private var showImagePlayground = false
@State private var generatedImage: UIImage?
var body: some View {
Button("Bild generieren") {
showImagePlayground = true
}
.imagePlaygroundSheet(
isPresented: $showImagePlayground,
concept: "Ein freundlicher Roboter mit Kaffee"
) { url in
// Generiertes Bild als URL
if let image = UIImage(contentsOfFile: url.path) {
generatedImage = image
}
}
}
}
Was Entwickler beachten müssen: -
ImagePlayground-Framework importieren - Deployment Target:
iOS 18.2+ - Nutzer müssen Apple Intelligence aktiviert haben -
ImagePlaygroundViewController für UIKit-Apps verfügbar
Referenz: ImagePlayground Framework
Visual Intelligence (iPhone 16)
Was ist neu: Camera Control auf iPhone 16 öffnet Visual Intelligence: Erkennung von Objekten, Text, Pflanzen, Tieren, Restaurantinfos (über Yelp/Google), QR-Codes.
Was Entwickler beachten müssen: - Keine direkte API
für Visual Intelligence - Apps können via App Intents in Visual
Intelligence-Ergebnissen erscheinen -
SFSafariViewController und Web-Links werden aus Visual
Intelligence heraus geöffnet
Version 18.2.1
Veröffentlicht: 6. Januar 2025 Schwerpunkt: Fehlerbehebungen
- Fix: iPhone mit iOS 18.2 konnte in seltenen Fällen keine Anrufe empfangen/tätigen
- Sicherheitsfixes
- Für Entwickler: keine API-Änderungen
Version 18.3
Veröffentlicht: 27. Januar 2025 Schwerpunkt: Apple Intelligence Korrekturen, Bug Fixes
Quelle: Apple iOS 18.3 Release Notes
Notification Summaries – Standardmäßig deaktiviert für Nachrichten-Apps
Hintergrund: Nach Beschwerden über falsch zusammengefasste Nachrichten-Schlagzeilen (insbesondere Falschmeldungen) deaktivierte Apple Notification Summaries standardmäßig für News- und Unterhaltungs-Apps.
Was Entwickler beachten müssen: - Eigene
App-Benachrichtigungen sind davon nicht direkt betroffen - Zeichne
Benachrichtigungen mit klarer Bedeutung aus – Summaries können
semantisch falsch sein - Empfehlung: Zeitkritische und
sicherheitsrelevante Benachrichtigungen mit .timeSensitive
oder .critical markieren
let content = UNMutableNotificationContent()
content.title = "Kontostand-Warnung"
content.body = "Ihr Konto hat weniger als 50 €"
content.interruptionLevel = .timeSensitive // Nicht zusammengefasst
Memory Movie Improvements
Verbesserte Filmgenerierung durch Apple Intelligence in der Fotos-App.
AirPlay Hotel Support
Hotels können AirPlay ohne App-Installation auf ihren Apple TV-Geräten anbieten.
Version 18.3.1
Veröffentlicht: 12. März 2025 Schwerpunkt: Sicherheitsupdates
- Kritischer Fix: USB Restricted Mode konnte unter bestimmten Umständen umgangen werden (CVE-2025-24200)
- Für Entwickler: keine API-Änderungen
- Empfehlung: App-Updates mit dieser Mindestanforderung zügig testen und einreichen
Version 18.3.2
Veröffentlicht: 12. März 2025 Schwerpunkt: WebKit/Safari-Sicherheitslücke
- Fix: Cross-Site-Scripting-Schwachstelle in WebKit (CVE-2025-24201)
- Betrifft alle Apps, die
WKWebViewoderSFSafariViewControllerverwenden - Wichtig für Entwickler: Apps mit Web-Content sollten auf iOS 18.3.2+ testen
Version 18.4
Veröffentlicht: 31. März 2025 Schwerpunkt: Apple Intelligence Erweiterungen, Priority Notifications
Quelle: Apple iOS 18.4 Release Notes
Priority Notifications
Was ist neu: Apple Intelligence priorisiert Benachrichtigungen automatisch. Wichtige Benachrichtigungen erscheinen oben, weniger wichtige werden zusammengefasst.
Was Entwickler beachten müssen: Entwickler können Benachrichtigungen mit Interrupt-Leveln explizit steuern:
// Unterbrechungsebenen für Benachrichtigungen
content.interruptionLevel = .passive // Wird nicht angezeigt, wenn Bildschirm aus
content.interruptionLevel = .active // Standard
content.interruptionLevel = .timeSensitive // Erscheint trotz Fokus-Modus
content.interruptionLevel = .critical // Ignoriert Stummschalten (erfordert Entitlement)
Apple Intelligence – Weitere Sprachen
- Französisch, Deutsch, Italienisch, Portugiesisch (Brasilien), Spanisch, Japanisch, Koreanisch, Chinesisch (vereinfacht/traditionell)
- Für Entwickler: Writing Tools und Siri-Integrationen sind nun in mehr Sprachen nutzbar
Weitere neue Features
- Satellite Messages in allen Ländern mit iPhone-14-kompatiblem Satellit-Netzwerk
- CarPlay-Verbesserungen: Kürzlich verwendete Apps prominent dargestellt
- TV-App: Verbesserungen bei Inhalten
- Accessibility: Neue Live Captions-Verbesserungen
Version 18.4.1
Veröffentlicht: 16. April 2025 Schwerpunkt: Sicherheitsupdates
- Sicherheitsfixes für kritische WebKit-Lücken (aktiv ausgenutzt)
- Empfehlung: Sofortige Reaktion – Apps mit WKWebView testen
- CarPlay-Konnektivitätsfehler behoben
Version 18.5
Veröffentlicht: 12. Mai 2025 Schwerpunkt: Fehlerbehebungen, Sicherheitsupdates, Pride Wallpaper
- Neue Pride-Wallpaper für Juni 2025
- Sicherheitsfixes (WebKit, Kernel)
- Mail-Stabilitätsverbesserungen
- Letzte Version der iOS-18-Generation
Für Entwickler: Keine API-Änderungen. iOS 18.5 ist die finale stabile Version vor iOS 26.
Migration iOS 18
Was Entwickler anpassen müssen
1. App Icon – Dark / Tinted Varianten
Asset Catalog → AppIcon → Dark Appearance hinzufügen
Asset Catalog → AppIcon → Tinted Appearance hinzufügen
2. Control Center Widget (optional aber
empfehlenswert) - Neue Widget Extension mit
ControlWidget Protocol - Nutzer können eigene App-Controls
im Control Center platzieren
3. Swift 6 Concurrency (Breaking Change) -
Schrittweise Migration via SWIFT_STRICT_CONCURRENCY
Build-Setting - Zuerst: minimal → targeted →
complete
4. Writing Tools Opt-out (wenn nötig)
textView.writingToolsBehavior = .none // Deaktivieren
textView.writingToolsBehavior = .limited // Nur Transformation
textView.writingToolsBehavior = .default // Systemstandard
5. Notification Interrupt Levels setzen -
timeSensitive für wichtige Benachrichtigungen
(Zusammenfassung umgehen) - critical für lebensnotwendige
Alerts (erfordert Entitlement)
iPadOS 18
iPadOS 18 teilt die iOS-18-Versionsgeschichte. Zusätzliche iPad-spezifische Features:
Highlights für iPad-Entwickler
Tab Bar + Sidebar (SwiftUI / UIKit)
Was ist neu: iPad-Apps können jetzt zwischen Tab Bar (Phone-Style) und Sidebar (Mac-Style) adaptiv wechseln.
SwiftUI:
TabView {
Tab("Home", systemImage: "house") {
HomeView()
}
Tab("Suche", systemImage: "magnifyingglass") {
SearchView()
}
}
.tabViewStyle(.sidebarAdaptable) // Automatisch Tab oder Sidebar je nach Gerät
UIKit:
// UITabBarController mit UITabBarControllerDelegate
// Neue Eigenschaft: tabBarController.mode = .tabSidebar
Warum wichtig: Apps, die
.tabViewStyle(.sidebarAdaptable) nicht nutzen, sehen auf
iPad Sub-Optimal aus. Mac Catalyst-Apps profitieren direkt.
Referenz: TabView sidebarAdaptable
iPhone Mirroring
Macs mit macOS 15 Sequoia können iPhone-Bildschirm spiegeln und steuern. Für Entwickler: Apps müssen auf dem Mac nicht extra angepasst werden.
Calculator App für iPad (erstmals)
Kein Entwickler-Impact.
Migration iPadOS 18
TabView.sidebarAdaptableimplementierenUITabBarController-Anpassungen prüfen- iPhone Mirroring: Apps auf Kompatibilität mit Maus/Trackpad-Gesten testen
macOS 15 Sequoia
Veröffentlicht: 16. September 2024 Quelle: Apple macOS Sequoia Release Notes
Version 15.0
Highlights:
iPhone Mirroring
- Mac zeigt iPhone-Bildschirm in einem Fenster
- Vollständige Maus/Tastatur-Steuerung des iPhones vom Mac aus
- Drag & Drop zwischen Mac und iPhone-Spiegel (18.1+)
- Für App-Entwickler: keine Code-Änderungen notwendig
Window Tiling
- Fenster können via Taste+Drag oder Menü automatisch nebeneinander angeordnet werden
- Ähnlich Windows Snap-Funktion
- Für Entwickler:
NSWindow-Handling nicht betroffen
Safari 18
- Neues Highlights-Feature: KI-extrahierte Kerninformationen einer Website
- Web-Inspector: Neue Tools für Responsive Design
- Reader-Modus: KI-Zusammenfassung oben
Was Web-Entwickler beachten müssen: -
<meta name="theme-color"> wird von Safari 18 bei
macOS für Window-Chromee-Farbgebung genutzt -
View Transitions API jetzt unterstützt - Scroll-animierte
Elemente: verbesserte Performance
Passwords App
Identisch mit iOS 18 – eigenständige App für Passwörter und Passkeys.
Apple Intelligence auf Mac
Ab macOS 15.1: Apple Intelligence verfügbar auf M1+ Macs. Gleiche Features wie iOS 18.1.
Version 15.1
Veröffentlicht: 28. Oktober 2024 (gleichzeitig mit iOS 18.1)
- Apple Intelligence aktiviert
- Writing Tools system-weit
- Siri verbessert
Weitere Versionen (15.2 – 15.5)
Parallel zu iOS-18-Updates. Gleiche Apple-Intelligence-Erweiterungen.
Migration macOS Sequoia
Minimum macOS für Xcode 16: macOS 14.5 (Sonoma) Minimum macOS für Xcode 16.3+: macOS 15.0
- macOS Deployment Target: Apps für macOS 15 sollten Window Tiling und neue UI-Konventionen berücksichtigen
- Mac Catalyst:
.tabViewStyle(.sidebarAdaptable)testen - Menu Bar Extras: Keine Breaking Changes
watchOS 11
Veröffentlicht: 16. September 2024 Quelle: Apple watchOS 11 Release Notes
Version 11.0
Highlights:
Training Load & Vitals App
Neue Gesundheits-Apps direkt auf der Apple Watch. Für Entwickler
relevant: neue HealthKit-APIs.
Neue HealthKit-Metriken:
import HealthKit
// Neue Typen in watchOS 11 / iOS 18
let trainingLoad = HKQuantityType(.runningStrideLength)
let vo2MaxEstimate = HKQuantityType(.vo2Max)
// Vitals App-Daten abfragen (neu)
let physicalEffort = HKQuantityType(.physicalEffort)
Double Tap – Erweitert
Double Tap-Geste auf Apple Watch Series 9+ kann jetzt von Drittanbieter-Apps genutzt werden.
// watchOS 11: Double Tap in Custom Views
struct ContentView: View {
@State private var doubleTapCount = 0
var body: some View {
Text("Taps: \(doubleTapCount)")
.handGestureShortcut(.primaryAction) {
doubleTapCount += 1
}
}
}
Warum wichtig: Erstmals programmatisch nutzbar für eigene Watch-Apps.
Smart Stack
Watch Face Smart Stack zeigt automatisch relevante Widgets. Apps
können WidgetKit-relevance scores setzen:
WidgetCenter.shared.setCurrentConfigurations(...)
// TimelineEntry mit .relevance setzen
TimelineEntryRelevance(score: 10, duration: 3600)
Live Activities auf Apple Watch
Live Activities (seit iOS 16.1) werden jetzt auch auf watchOS 11 angezeigt.
// Existing Live Activity – kein Code-Änderung nötig
// watchOS 11 zeigt sie automatisch im Smart Stack
Was Entwickler beachten müssen: - Live Activity
ContentState wird auf der Watch angezeigt - Kompaktes
Layout für Watch-Darstellung beachten
Pause & Resume Workouts
Watch-Workouts können jetzt unterbrochen und fortgesetzt werden. Neue
HealthKit-API.
Migration watchOS 11
handGestureShortcut(.primaryAction)für Double-Tap implementieren- HealthKit-Daten: neue Typen in Abfragen berücksichtigen
- Live Activity: kompaktes Layout für Watch optimieren
visionOS 2
Veröffentlicht: 16. September 2024 Quelle: Apple visionOS 2 Release Notes
Highlights für Entwickler
Volumetrische Apps – Verbessert
// RealityKit / SwiftUI: Neue Gesten-Apis
// RealityView mit verbesserter Entity-Manipulation
SharePlay – Persona
Nutzer können während SharePlay ihre Spatial Persona zeigen. Für Entwickler: keine Code-Änderungen für bestehende SharePlay-Apps.
Travel Mode
Verbesserte Nutzung im Transportmittel (Flugzeug, Zug). Für Entwickler: keine Anpassungen.
Wide und Ultra-Wide Fenster
// Neue .windowStyle Optionen
WindowGroup {
ContentView()
}
.defaultSize(width: 1.5, height: 1.0, depth: 0, in: .meters)
.windowStyle(.volumetric)
SwiftUI
Neue Features (iOS 18 / Xcode 16)
TabView – Sidebar Adaptable
Bereits unter iPadOS 18 beschrieben. Entscheidend für alle iPad/Mac-Apps.
@main
struct MyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
struct ContentView: View {
var body: some View {
TabView {
Tab("Home", systemImage: "house") { HomeView() }
Tab("Suche", systemImage: "magnifyingglass") { SearchView() }
Tab("Profil", systemImage: "person") { ProfileView() }
}
.tabViewStyle(.sidebarAdaptable)
}
}
@Entry Macro
Neue Kurzschreibweise für EnvironmentValues,
FocusedValues und Transaction.
Vorher (iOS 17):
extension EnvironmentValues {
@Entry var myCustomValue: String = "Standard"
}
Nachher (iOS 18):
extension EnvironmentValues {
@Entry var myCustomValue: String = "Standard"
}
// Das @Entry Macro ist seit iOS 18 / Swift 5.10 verfügbar
// Syntax: gleich, aber @Entry ersetzt den manuellen Key-Boilerplate
Konkreter Vergleich – ohne @Entry:
// Früher:
struct MyValueKey: EnvironmentKey {
static let defaultValue: String = "Standard"
}
extension EnvironmentValues {
var myCustomValue: String {
get { self[MyValueKey.self] }
set { self[MyValueKey.self] = newValue }
}
}
// Mit @Entry (iOS 18):
extension EnvironmentValues {
@Entry var myCustomValue: String = "Standard"
}
Spart: Boilerplate-Struktur
EnvironmentKey ist nicht mehr nötig.
@Previewable Macro
#Preview {
@Previewable @State var isOn = false
Toggle("Einstellung", isOn: $isOn)
}
Vorher: State musste in einen eigenen
PreviewWrapper-View ausgelagert werden. @Previewable
erlaubt direkte Nutzung in #Preview-Blöcken.
MeshGradient
Neue, hochwertige Gradienten-Art mit Kontrollpunkten auf einem 2D-Raster.
struct ContentView: View {
var body: some View {
MeshGradient(
width: 3,
height: 3,
points: [
[0, 0], [0.5, 0], [1, 0],
[0, 0.5], [0.5, 0.5], [1, 0.5],
[0, 1], [0.5, 1], [1, 1]
],
colors: [
.blue, .purple, .indigo,
.orange, .pink, .red,
.green, .teal, .cyan
]
)
.ignoresSafeArea()
}
}
Warum wichtig: Ermöglicht hochwertige, natürlich wirkende Hintergründe ohne externe Assets.
Zoom Navigation Transition
struct ContentView: View {
@Namespace var namespace
@State var showDetail = false
var body: some View {
if !showDetail {
Image("preview")
.navigationTransition(.zoom(sourceID: "img", in: namespace))
.onTapGesture { showDetail = true }
} else {
DetailView()
.navigationTransition(.zoom(sourceID: "img", in: namespace))
}
}
}
ScrollView Verbesserungen
@State private var position = ScrollPosition(edge: .top)
ScrollView {
ForEach(items) { item in
ItemRow(item: item)
}
}
.scrollPosition($position)
// Programmatisch scrollen:
Button("Zum Anfang") {
position.scrollTo(edge: .top)
}
PresentationSizing
.sheet(isPresented: $showSheet) {
MySheetContent()
.presentationSizing(.fitted) // Passt sich dem Inhalt an
// .form → Form-ähnliches Layout
// .page → Volle Bildschirmbreite
}
SF Symbol Effekte
Image(systemName: "bell.fill")
.symbolEffect(.bounce) // Einmalige Animation
Image(systemName: "wifi")
.symbolEffect(.variableColor.iterative.reversing) // Kontinuierlich
Button("Laden") { load() }
.symbolEffect(.rotate, isActive: isLoading)
Image(systemName: "heart.fill")
.symbolEffect(.breathe) // Atmen-Animation
Image(systemName: "trash")
.symbolEffect(.wiggle) // Schütteln
TextRenderer Protocol
struct GradientTextRenderer: TextRenderer {
func draw(layout: Text.Layout, in ctx: inout GraphicsContext) {
for line in layout {
ctx.draw(line)
}
}
}
Text("Hallo")
.textRenderer(GradientTextRenderer())
Container Views
struct CardGroup<Content: View>: View {
@ViewBuilder var content: Content
var body: some View {
Group(subviewsOf: content) { subviews in
VStack {
ForEach(subviews) { subview in
subview
.padding()
.background(Color.secondary.opacity(0.1))
.cornerRadius(12)
}
}
}
}
}
// Verwendung:
CardGroup {
Text("Karte 1")
Text("Karte 2")
Text("Karte 3")
}
Breaking Changes SwiftUI iOS 18
| Änderung | iOS 17 | iOS 18 |
|---|---|---|
onChange(of:) |
Zweiter Closure-Parameter optional | Neue Signatur: (oldValue, newValue) |
TabView auf iPad |
Standard Tab-Bar | .sidebarAdaptable empfohlen |
NavigationSplitView |
Stabil | Keine Breaking Changes |
onChange Breaking Change:
// Alt (iOS 16/17 – deprecated)
.onChange(of: value) { newValue in ... }
// Neu (iOS 17+ / iOS 18 recommended)
.onChange(of: value) { oldValue, newValue in
print("Von \(oldValue) zu \(newValue)")
}
Bekannte Probleme
- MeshGradient auf älterer Hardware: Performance kann auf A12-Chips und älter schlechter sein
- TabView Sidebar: Auf iPhone unverändert Tab-Bar, nur auf iPad/Mac Sidebar
Beispiele
Alle obigen Codebeispiele sind lauffähige Minimalbeispiele für Xcode 16+.
Swift 6
Neue Features
Strikte Concurrency-Prüfung (Complete)
Swift 6 ändert den Standard für Concurrency-Checking auf
complete. Das bedeutet: der Compiler prüft alle
potenziellen Data Races zur Compile-Zeit.
Was ist das Problem?
// Swift 5: Kein Compiler-Fehler (aber potentiell unsicher)
class Counter {
var count = 0
func increment() { count += 1 }
}
// Wenn increment() von mehreren Tasks gleichzeitig aufgerufen wird → Data Race
// Swift 6: Compiler-Fehler, wenn Counter nicht @MainActor oder Sendable ist
Migration Build-Setting:
Build Settings → Swift Compiler – Language → Swift Concurrency Checking
minimal → Keine Warnungen (rückwärtskompatibel)
targeted → Warnungen für neuen Code
complete → Fehler wie in Swift 6 (Ziel)
Schrittweise Migration: 1. Starte mit
SWIFT_STRICT_CONCURRENCY=minimal 2. Wechsle zu
targeted und behebe Warnungen 3. Erhöhe auf
complete (entspricht Swift 6) 4. Setze
swift-tools-version: 6.0 in Package.swift für volle
Swift-6-Semantik
Typed Throws
enum NetworkError: Error {
case timeout
case unauthorized
case serverError(Int)
}
// Swift 6: Typensichere Fehler
func fetchUser(id: Int) throws(NetworkError) -> User {
guard id > 0 else { throw .unauthorized }
// ...
}
// Caller kennt exakten Fehlertyp:
do {
let user = try fetchUser(id: 42)
} catch let error { // error ist NetworkError, nicht Error
switch error {
case .timeout: handleTimeout()
case .unauthorized: handleAuth()
case .serverError(let code): handleServer(code)
}
}
Warum wichtig: Kein unerwartetes catch
für unbekannte Error-Typen mehr nötig.
Noncopyable Types
(~Copyable)
struct FileHandle: ~Copyable {
let fd: Int32
init(path: String) {
fd = open(path, O_RDONLY)
}
deinit {
close(fd) // Wird genau einmal aufgerufen
}
}
// Kann NICHT kopiert werden – nur verschoben (move semantics)
let handle = FileHandle(path: "/etc/hosts")
// let handle2 = handle // Compiler-Fehler: 'handle' used after being moved
Warum wichtig: Exklusiver Ressourcen-Besitz (Dateien, Sockets, Locks) ohne Referenz-Overhead.
Pack Iteration (Variadic Generics)
func printAll<each T: CustomStringConvertible>(_ values: repeat each T) {
repeat print(each values)
}
printAll(1, "Hallo", true, 3.14)
Swift Testing Framework
Neues Test-Framework als Alternative zu XCTest. Vollständig in Swift 6 integriert.
import Testing
@Suite("Benutzer-Tests")
struct UserTests {
@Test("Benutzer kann erstellt werden")
func testUserCreation() {
let user = User(name: "Max")
#expect(user.name == "Max")
#expect(user.age == 0) // Default
}
@Test("Ungültige Email schlägt fehl", .bug("https://github.com/example/app/issues/42"))
func testInvalidEmail() {
let user = User(name: "Max")
#expect(throws: ValidationError.self) {
try user.setEmail("ungültig")
}
}
// Parametrisierte Tests
@Test("Verschiedene Altersangaben", arguments: [0, 18, 65, 120])
func testAge(age: Int) {
let user = User(name: "Test")
user.age = age
#expect(user.age == age)
}
}
Unterschiede zu XCTest: | Feature | XCTest | Swift
Testing | |———|——–|————–| | Testmarkierung | func testXxx()
| @Test | | Assertion | XCTAssertEqual(a, b) |
#expect(a == b) | | Fehlertest |
XCTAssertThrowsError | #expect(throws:) | |
Parametrisiert | Manuell | arguments: | | Suite |
class XCTestCase | @Suite struct | |
Async-Tests | func testAsync() async | Nativ in
@Test |
Warum wichtig: Swift Testing ist ergonomischer, schneller und nativer. Langfristig wird es XCTest ablösen. Neue Tests sollten Swift Testing nutzen.
Referenz: Swift Testing Dokumentation
Concurrency
Sendable Enforcement
In Swift 6 müssen Typen, die zwischen Concurrency-Domänen (Tasks,
Actors) übergeben werden, Sendable sein.
// Problematischer Code (Swift 5 – kein Fehler)
class SharedState {
var data: [String] = []
}
let state = SharedState()
Task { state.data.append("A") } // Data Race möglich
Task { state.data.append("B") } // Data Race möglich
// Lösung 1: @MainActor (serialisiert auf dem Haupt-Thread)
@MainActor
class SharedState {
var data: [String] = []
}
// Lösung 2: Actor (eigener isolierter Thread)
actor SharedState {
var data: [String] = []
func append(_ value: String) {
data.append(value)
}
}
// Lösung 3: Sendable Value Type
struct SharedState: Sendable {
let data: [String] // immutable = Sendable
}
@MainActor Best Practices
// ViewModels auf dem Main Actor – korrekt
@MainActor
class UserViewModel: ObservableObject {
@Published var users: [User] = []
func loadUsers() async {
// Netzwerk-Call im Hintergrund
let fetched = await UserService.shared.fetch()
// Zurück auf MainActor (automatisch durch @MainActor Klasse)
users = fetched
}
}
Breaking Changes Swift 6
| Thema | Auswirkung |
|---|---|
| Strikte Sendable-Prüfung | Klassen ohne Sendable oder @MainActor
können nicht über Tasks weitergegeben werden |
| Global mutable state | Globale var müssen @MainActor oder
nonisolated(unsafe) sein |
| Protocol conformances | Protokolle mit Sendable-Anforderungen strikt
geprüft |
| Closures in Tasks | Müssen @Sendable sein |
Was passiert wenn ich Swift 6 nicht migriere? - Mit
Swift 5 Language Mode in Xcode 16: Keine Fehler, nur Warnungen - Beim
Setzen von swift-tools-version: 6.0: Alle
Data-Race-Warnungen werden Fehler - Langfristig: Apple wird
Swift-6-Requirement für App Store erhöhen
Referenz: Swift 6 Migration Guide
Xcode 16
IDE
Predictive Code Completion
Xcode 16 hat eine neue, KI-basierte Code-Completion direkt in der IDE. Anders als GitHub Copilot läuft das Modell vollständig lokal (kein Internet nötig).
Was ist neu: - Mehrzeilige Vorschläge (nicht nur einzelne Zeilen) - Kontextsensitiv: Versteht Swift-Typen, Frameworks, Projektkontext - Kein Cloud-Upload der Codebasis
Aktivierung: Automatisch in Xcode 16 auf Apple Silicon Macs.
Performance: Schneller auf M3/M4 Chips, auf M1/M2 etwas langsamer.
Explicit Modules
Xcode 16 bietet explizite Modul-Builds für schnellere, deterministische Builds.
# In Xcode: Build Settings → Module Build (Explicit)
# SWIFT_MODULE_BUILD = explicit
Warum wichtig: Parallele Builds werden effizienter. Besonders bei großen Projekten 20–40% schneller.
Simulator
Animierte Simulator-Hintergründe
iOS-18-Simulator zeigt korrekten animierten Hintergrund inkl. Dark Mode.
Simulator Push Notifications
# Direkt aus dem Terminal Push-Notification an Simulator senden:
xcrun simctl push booted com.example.app notification.apns
// notification.apns
{
"aps": {
"alert": {
"title": "Test-Benachrichtigung",
"body": "Diese wurde via Terminal gesendet"
},
"badge": 1,
"sound": "default"
}
}
Debugging
Thread Performance Checker – Erweitert
Xcode 16 erweitert den Thread Performance Checker um
Concurrency-Prüfungen: - Erkennt @MainActor-Verletzungen
zur Laufzeit - Zeigt welche Funktion auf dem falschen Thread läuft -
Aktivierung: Scheme → Diagnostics → Thread Performance Checker
Memory Graph Debugger – Swift Actors
Der Memory Graph Debugger versteht jetzt Swift Actors und zeigt ihre Isolation korrekt an.
Testing
Swift Testing Integration
Xcode 16 unterstützt Swift Testing nativ: - Test-Navigator zeigt
@Test-Funktionen - Parallele Testausführung standardmäßig -
Test-Tags für Filterung
@Test("Datenbanktest", .tags(.database), .serialized)
func testDatabase() async {
// Serialisiert innerhalb der Suite ausgeführt
}
// Tags definieren:
extension Tag {
@Tag static var database: Self
@Tag static var network: Self
}
Test Plans
Test Plans unterstützen jetzt Swift Testing neben XCTest.
Apple Intelligence
Verfügbarkeit: iOS 18.1+ (Feature-Rollout über mehrere Versionen)
Unterstützte Geräte: | Gerät | Apple Intelligence | |——-|——————-| | iPhone 15 Pro / Pro Max | Ja (ab iOS 18.1) | | iPhone 16 / Plus / Pro / Pro Max | Ja (ab iOS 18.0 – aktiv ab 18.1) | | iPhone 14 und älter | Nein | | iPhone 15 / Plus | Nein | | iPad mit M1+ | Ja | | Mac mit Apple Silicon | Ja (ab macOS 15.1) |
Writing Tools
Writing Tools sind system-weite KI-Schreibhilfen. Sie erscheinen
automatisch in UITextView-basierten Eingabefeldern.
Opt-Out (wenn nötig):
// UIKit
textView.writingToolsBehavior = .none
// SwiftUI
TextField("Eingabe", text: $text)
.writingToolsBehavior(.none)
Wann deaktivieren? - Code-Editoren (kein Sinn) - Medizinische/juristische Apps (präzise Formulierungen) - Sprachkurs-Apps (absichtliche Fehler)
Image Playground API
Bereits unter Version 18.2 dokumentiert.
import ImagePlayground
// Verfügbarkeit prüfen (Pflicht!)
guard ImageCreationSession.isAvailable else {
// Fallback anzeigen
return
}
App Intents – Verbesserte Siri-Integration
import AppIntents
struct CreateTaskIntent: AppIntent {
static var title: LocalizedStringResource = "Aufgabe erstellen"
static var description = IntentDescription("Erstellt eine neue Aufgabe in der App")
@Parameter(title: "Aufgabentitel") var title: String
@Parameter(title: "Fälligkeitsdatum") var dueDate: Date?
func perform() async throws -> some IntentResult & ProvidesDialog {
// Aufgabe erstellen
let task = try await TaskManager.shared.create(title: title, dueDate: dueDate)
return .result(dialog: "Aufgabe \"\(task.title)\" wurde erstellt.")
}
}
Warum wichtig: Apple Intelligence kann
AppIntents als Aktionen nutzen. Siri versteht
natürlichsprachige Anfragen, die auf App Intents gemappt werden.
Was ist notwendig: 1. AppIntent
implementieren 2. AppShortcutsProvider für Siri-Phrasen 3.
App Shortcuts in Info.plist registrieren
Referenz: App Intents Dokumentation
Foundation Models Framework (Nicht in iOS 18)
Das Foundation Models Framework wurde erst in iOS 26 eingeführt. In iOS 18 ist der Zugriff auf das On-Device LLM ausschließlich über Siri/Apple Intelligence-Features möglich – keine direkte API für Entwickler.
App Store & TestFlight & AppStore Connect
App Store SDK-Fristen
| Datum | Anforderung |
|---|---|
| Ab 28. April 2025 | Neue App-Einreichungen müssen Xcode 16 (iOS 18 SDK) verwenden |
| Ab Oktober 2025 | Alle App-Updates müssen Xcode 16 nutzen |
Was ist zu tun: 1. Projekt in Xcode 16 öffnen 2.
IPHONEOS_DEPLOYMENT_TARGET prüfen (Minimum bleibt frei
wählbar) 3. Build mit iOS 18 SDK testen 4. Swift Concurrency-Warnungen
behandeln
Privacy Manifest – Pflichtfeld
Ab iOS 18 SDK Pflicht: Apps mit bestimmten APIs müssen ein
Privacy Manifest (PrivacyInfo.xcprivacy)
enthalten.
Betroffene APIs: - UserDefaults -
NSFileManager (bestimmte Methoden) -
NSProcessInfo - AppTrackingTransparency -
CoreData, CloudKit, Crashlytics u.a.
Erstellen: 1. File → New → File → Privacy Manifest 2. Kategorien ausfüllen: Datentypen, Verwendungszweck, Tracking
<!-- PrivacyInfo.xcprivacy (Auszug) -->
<key>NSPrivacyTracking</key>
<false/>
<key>NSPrivacyCollectedDataTypes</key>
<array>
<dict>
<key>NSPrivacyCollectedDataType</key>
<string>NSPrivacyCollectedDataTypeUserID</string>
<key>NSPrivacyCollectedDataTypeLinked</key>
<true/>
<key>NSPrivacyCollectedDataTypeTracking</key>
<false/>
<key>NSPrivacyCollectedDataTypePurposes</key>
<array>
<string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
</array>
</dict>
</array>
Konsequenz wenn nicht vorhanden: App Store Review kann die App ablehnen.
Referenz: Privacy Manifest
TestFlight
- TestFlight für Mac: Allgemein verfügbar für macOS 12+
- TestFlight Gruppen: Bis zu 10.000 externe Tester
- Xcode Cloud: Direktes Deployen auf TestFlight aus CI/CD-Pipelines
App Store Connect API 3.0+
Neue Endpunkte: - Analytics API für Absturzdaten - GameCenter-Turnier-Management - Preisgestaltung per Territorium
# App Store Connect API Beispiel
curl -H "Authorization: Bearer $JWT_TOKEN" \
"https://api.appstoreconnect.apple.com/v1/apps/{id}/appInfos"
Bekannte Probleme
Swift 6 / Xcode 16
| Problem | Betroffene Apps | Lösung |
|---|---|---|
@Observable + @MainActor Konflikte |
Apps mit MVVM + Combine | @MainActor explizit an @Observable-Klasse
setzen |
| Swift Testing + XCTest Mixfix | Gemischte Test-Targets | Separate Targets für XCTest und Swift Testing |
| Predictive Code Completion zu aggressiv | Alle Apps | Deaktivierbar: Xcode → Preferences → Code Completion |
Apple Intelligence
| Problem | Version | Status |
|---|---|---|
| Notification Summaries mit falschen Informationen | 18.1–18.2 | In 18.3 für News-Apps deaktiviert |
| Writing Tools in falschen Kontexten aktiv | 18.1 | API-Opt-out vorhanden |
| ChatGPT-Integration nur auf Englisch (initial) | 18.2 | In 18.4 mehr Sprachen |
UIKit / SwiftUI
| Problem | Auswirkung | Lösung |
|---|---|---|
TabView Layout-Regression beim Upgrade auf iOS 18 |
Tab-Bar verschwindet manchmal | tabViewStyle(.automatic) explizit setzen |
onChange Deprecation-Warnungen |
Compiler-Warnungen | Neue Signatur mit (oldValue, newValue) nutzen |
Migration auf Apple 18
Migrations-Checkliste
Priorität HOCH (Pflicht):
Priorität MITTEL (Empfohlen):
Priorität NIEDRIG (Optional):
Häufige Migrations-Probleme
Problem 1: Swift 6 Fehler zu viele
Lösung: Setze SWIFT_STRICT_CONCURRENCY=minimal
→ Keine Fehler, aber auch keine Prüfung
→ Schrittweise auf targeted erhöhen
Problem 2: Privacy Manifest fehlt
Lösung: File → New → Privacy Manifest (PrivacyInfo.xcprivacy)
Alle genutzten APIs mit Zweck eintragen
Problem 3: TabBar verschwindet auf iOS 18
// Explizit setzen:
.tabViewStyle(.automatic)
// oder .tabBar für klassischen Stil
Problem 4: onChange Warnungen
// Alt (Deprecated):
.onChange(of: value) { newValue in ... }
// Neu:
.onChange(of: value) { oldValue, newValue in ... }
// oder ohne Parameter (wenn nicht benötigt):
.onChange(of: value) { ... }
Fazit
iOS 18 (September 2024) markiert den Beginn der Apple-Intelligence-Ära. Die wichtigsten Themen für Entwickler:
Was bleibt: - UIKit und SwiftUI wachsen parallel und konvergieren - App Store Fundamentals unverändert - Deployment Target-Freiheit bleibt
Was sich geändert hat: - Swift 6 Concurrency: Größte syntaktische Änderung seit Swift 4. Migration ist zeitaufwendig aber sicherheitsrelevant. - Apple Intelligence: Neue Oberfläche für App-Integration via App Intents. Jetzt investieren zahlt sich langfristig aus. - Privacy Manifest: Pflichtfeld für alle neuen Einreichungen – sofort umsetzen. - Control Center Widgets: Erstmals tiefer Systemzugang für Drittanbieter.
Ausblick: iOS 26 (September 2025, Nachfolger) bringt das Foundation Models Framework für direkten On-Device-LLM-Zugriff und das Liquid Glass Design System. Entwickler, die ihre Apps für iOS 18 gut aufgestellt haben, haben eine gute Grundlage für die Migration auf iOS 26.
Archiv
iOS 18 Beta-Historie
| Beta | Build | Datum | Highlights |
|---|---|---|---|
| Beta 1 | 22A5282m | 10. Juni 2024 | Erstankündigung WWDC 2024 |
| Beta 2 | 22A5295h | 1. Juli 2024 | Stabilitätsverbesserungen |
| Beta 3 | 22A5307m | 15. Juli 2024 | SwiftUI-Korrekturen |
| Beta 4 | 22A5316k | 29. Juli 2024 | App Icon Dark/Tinted stabilisiert |
| Beta 5 | 22A5326g | 12. August 2024 | Performance-Verbesserungen |
| Beta 6 | 22A5337a | 26. August 2024 | Letzte Beta-Korrekturen |
| RC | 22A3354 | 9. September 2024 | Release Candidate |
| Release | 22A3354 / 22A3370 | 16. September 2024 | Öffentliche Veröffentlichung |
Hinweis: Build-Nummern aus der Beta-Phase basieren auf öffentlich zugänglichen Community-Berichten und Developer-Foren. Für finale Build-Nummern gilt der Apple-Veröffentlichungsstand als verbindlich.
iPadOS 18 Beta-Historie
Identisch mit iOS 18 Beta-Verlauf – iPadOS und iOS teilen Beta-Zyklus.
macOS 15 Sequoia Beta-Historie
| Beta | Datum | Highlights |
|---|---|---|
| Beta 1 | 10. Juni 2024 | iPhone Mirroring erstmals |
| Beta 2 | 1. Juli 2024 | Window Tiling verbessert |
| Beta 3–6 | Juli – August 2024 | Stabilisierung |
| RC | 9. September 2024 | Release Candidate |
| Release | 16. September 2024 | macOS 15.0 |
watchOS 11 Beta-Historie
| Beta | Datum | Highlights |
|---|---|---|
| Beta 1 | 10. Juni 2024 | Training Load, Double Tap API |
| Beta 2–6 | Juli – August 2024 | Stabilisierung |
| Release | 16. September 2024 | watchOS 11.0 |