iPadOS ist das Betriebssystem von Apple für das iPad, das 2019 von iOS abgespalten wurde. Die Entwicklung für iPad berücksichtigt einzigartige Funktionen: Multitasking mit Split View und Stage Manager, Apple Pencil-Eingabe mit niedriger Latenz und Desktop-Safari.
Wichtige Punkte
iPadOS ist das Betriebssystem von Apple für das iPad, das erstmals 2019 als Fork von iOS (Version 13) veröffentlicht wurde. Zuvor verwendete das iPad dasselbe iOS wie das iPhone. Die Abspaltung von iPadOS ermöglichte es Apple, Funktionen einzuführen, die speziell für den großen Bildschirm entwickelt wurden: Multitasking, Desktop-Safari, Drag & Drop und Unterstützung für externe Monitore.
iPadOS behält die volle Kompatibilität mit iOS-Apps bei: Jede iPhone-App läuft auf dem iPad im Skalierungsmodus. Für eine qualitativ hochwertige Benutzererfahrung ist jedoch eine Anpassung erforderlich: Verwendung von Size Classes, UISplitViewController und Tastaturkurzbefehlen. Laut Apple (WWDC 2025) verbringen Nutzer 80 % der Zeit auf dem iPad in tablet-optimierten statt in skalierten Versionen von Apps.
iPadOS 13 (2019) führte Slide Over und Split View ein. iPadOS 14 (2020) fügte Apple Pencil Scribble und eine kompakte Benutzeroberfläche hinzu. iPadOS 15 (2021) brachte Quick Note und Verbesserungen beim Multitasking. iPadOS 16 (2022) führte Stage Manager und Unterstützung für externe Monitore ein. iPadOS 17 (2023) fügte interaktive Widgets und Lock Screen-Anpassung hinzu.
| iPadOS-Version | Jahr | Wichtigste Neuerung |
|---|---|---|
| iPadOS 13 | 2019 | Slide Over, Split View, Desktop-Safari |
| iPadOS 14 | 2020 | Scribble für Apple Pencil, kompakte Anrufe |
| iPadOS 15 | 2021 | Quick Note, verbesserter Multitasking-Manager |
| iPadOS 16 | 2022 | Stage Manager, externer 6K-Monitor |
| iPadOS 17 | 2023 | Interaktive Widgets, Lock Screen |
| iPadOS 18 | 2024 | Rechner Math Notes, Smart Script |
iPadOS basiert auf demselben XNU-Kernel und Darwin wie iOS, verwendet jedoch eine modifizierte UIKit-Shell, die für mehrere Fenster und beliebige Bildschirmgrößen angepasst ist. Der wichtigste architektonische Unterschied ist die Unterstützung von UIScene, die in iOS 13 eingeführt wurde.
In iPadOS ist jedes Fenster (einschließlich derer in Split View) eine separate UISceneSession mit eigenem Lebenszyklus. Im Gegensatz zum iPhone, wo eine App eine einzelne UIWindowScene hat, kann eine App auf dem iPad mehrere UIScene haben (mehrere Fenster, Slide Over, Stage Manager). SceneDelegate verwaltet den Zustand jedes Fensters unabhängig.
import UIKit
import SwiftUI
/// SceneDelegate für Multi-Fenster-Unterstützung auf iPadOS
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
var window: UIWindow?
var splitVC: UISplitViewController?
func scene(_ scene: UIScene,
willConnectTo session: UISceneSession,
options connectionOptions: UIScene.ConnectionOptions) {
guard let windowScene = (scene as? UIWindowScene) else { return }
// Erstellen von UISplitViewController für Tablet-Navigation
let splitVC = UISplitViewController(style: .tripleColumn)
splitVC.primaryBackgroundStyle = .sidebar
let sidebar = SidebarViewController()
let primary = PrimaryViewController()
let detail = DetailViewController()
splitVC.viewControllers = [sidebar, primary, detail]
let window = UIWindow(windowScene: windowScene)
window.rootViewController = splitVC
window.makeKeyAndVisible()
self.window = window
}
// Anpassung bei Größenänderung des Fensters (Split View)
func windowScene(_ windowScene: UIWindowScene,
didUpdate previousCoordinateSpace: UICoordinateSpace,
interfaceOrientation previousOrientation: UIInterfaceOrientation) {
let isMultitasking = windowScene.traitCollection.horizontalSizeClass == .compact
print("iPadOS multitasking mode: \(isMultitasking ? "compact" : "regular")")
}
}UISplitViewController mit .tripleColumn-Stil zeigt drei Spalten gleichzeitig an: Seitenleiste (Navigation), primär (Liste) und Detail (Inhalt). Beim Wechsel in den kompakten Modus (Split View mit einer anderen App) klappt UIKit die Spalten automatisch in einen Navigationsstapel zusammen. Der Entwickler verwaltet dieses Verhalten nicht manuell — UIKit passt das Layout über traitCollection an.
iPadOS bietet: Unterstützung für externen Speicher über Files (USB-C/Thunderbolt), Safari-Terminalmodus mit Elementinspektion, Tastaturkurzbefehle über UIKeyCommand, systemeigenen Download-Manager, Drag & Drop zwischen Apps und Bild-in-Bild mit größenveränderbarem Fenster.
Multitasking ist eine Schlüsselfunktion von iPadOS, die es grundlegend von iOS unterscheidet. Der Benutzer kann gleichzeitig mit mehreren Apps auf einem Bildschirm arbeiten. Der Entwickler muss sicherstellen, dass die App in jedem Multitasking-Modus korrekt funktioniert.
Split View teilt den iPad-Bildschirm zwischen zwei Apps im Verhältnis 50/50 oder 33/67 auf. Jede App erhält eine eigene UISceneSession mit eigenem Speicher und Lebenszyklus. Wenn die Bildschirmbreite weniger als 600 Punkte beträgt, zwingt UIKit die App in eine kompakte horizontale Size Class. Die App muss diese Änderung korrekt verarbeiten.
Slide Over ist ein schwebendes Fenster über der aktiven App (Breite 320 Punkte). Eine App in Slide Over wechselt in eine kompakte horizontale Size Class (.compact). Es ist wichtig, die Benutzeroberfläche für einen schmalen Bildschirm zu optimieren. In Slide Over kann die App durch Wischen vom rechten Rand oder über das Dock aufgerufen werden. Der Benutzer kann Slide Over in Split View ziehen oder durch Wischen nach rechts schließen.
Stage Manager (iPadOS 16+, M1 und neuer) ist ein Fenstermanager, der das Erstellen überlappender Fenster beliebiger Größe ermöglicht. Bis zu 4 Fenster auf dem iPad-Bildschirm und bis zu 4 auf einem externen Monitor (insgesamt 8) werden unterstützt. Apps erhalten das UISceneWillConnectNotification-Ereignis für jedes neue Fenster. Stage Manager ändert die Lebenszyklusregeln: Ein Fenster im Hintergrund wird nicht eingefroren, sondern arbeitet mit begrenzten Ressourcen weiter.
| Modus | Anzahl Fenster | Fenstergröße | Size Class |
|---|---|---|---|
| Vollbild | 1 | 100 % des Bildschirms | Regular |
| Split View 50/50 | 2 | 50 % des Bildschirms | Regular (iPad Pro 12.9) oder Compact |
| Split View 33/67 | 2 | 33 % / 67 % | Compact für 33 % |
| Slide Over | 1 + schwebend | 320 pt | Compact |
| Stage Manager | 1–4 | Beliebig | Abhängig von der Größe |
Apple Pencil ist der aktive Stift von Apple mit Neigungs-, Druck- und Hover-Erkennung (iPad Pro M2+). Die Latenz zwischen Stiftbewegung und Tintendarstellung beträgt je nach Modell 9–20 ms. PencilKit ist das primäre Framework für die Integration von Zeichnungen in eine App.
PKCanvasView bietet eine fertige Zeichenfläche mit Unterstützung für Tinte, Bleistift, Marker und Radiergummi. PKToolPicker ist das Werkzeugauswahlfeld. Der Entwickler muss keine Strichdarstellung implementieren — PencilKit erledigt dies hardwarebeschleunigt mit Metal-Shadern. Anpassung von Stiftfarbe, -dicke und -deckkraft sind verfügbar.
import PencilKit
import UIKit
class DrawingViewController: UIViewController {
private lazy var canvasView: PKCanvasView = {
let canvas = PKCanvasView()
canvas.tool = PKInkingTool(.pen, color: .black, width: 5)
canvas.delegate = self
canvas.drawingPolicy = .anyInput
canvas.backgroundColor = .white
return canvas
}()
private lazy var toolPicker: PKToolPicker = {
let picker = PKToolPicker()
picker.addObserver(canvasView)
picker.setVisible(true, forFirstResponder: canvasView)
return picker
}()
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(canvasView)
canvasView.frame = view.bounds
canvasView.becomeFirstResponder()
toolPicker.addObserver(canvasView)
}
// Zeichnung in PKDrawing speichern (Binärformat)
func saveDrawing() {
let drawingData = canvasView.drawing.dataRepresentation()
let url = FileManager.default.urls(
for: .documentDirectory, in: .userDomainMask
)[0].appendingPathComponent("drawing.drawing")
try? drawingData.write(to: url)
}
}
extension DrawingViewController: PKCanvasViewDelegate {
func canvasViewDrawingDidChange(_ canvasView: PKCanvasView) {
print("Canvas changed: \(canvasView.drawing.strokes.count) strokes")
}
}PKCanvasView mit drawingPolicy .anyInput akzeptiert sowohl Apple Pencil- als auch Fingereingabe. PKToolPicker bietet dem Benutzer eine Werkzeugauswahl, ohne dass eine benutzerdefinierte Benutzeroberfläche geschrieben werden muss. PKDrawing wird in einem Binärformat mit hoher Komprimierung gespeichert — eine Stunde Zeichnung belegt etwa 5–10 MB.
Scribble (iPadOS 14+) ermöglicht handschriftliche Eingabe in jedes UITextField und UITextView. Das System erkennt handschriftliche Eingaben auf dem Gerät mithilfe der Neural Engine. Das ML-Modell funktioniert mit lateinischer und kyrillischer Schrift. In iOS 17+ unterstützt Scribble Autokorrektur und Vorhersage des nächsten Wortes. Der Entwickler muss keinen Code hinzufügen — Scribble funktioniert automatisch mit jedem Eingabefeld.
Ab iPadOS 17.4 und Apple Pencil Pro erhalten Entwickler Hover-Ereignisse, wenn sich der Stift dem Bildschirm nähert (bis zu 12 mm). Das Ereignis enthält Position, Kraft und Azimut. Anwendungen: Vorschau des Pinselkontaktpunkts in Zeichen-Apps, Werkzeugvorschau, visuelles Feedback vor Berührung.
Adaptive Benutzeroberfläche ist eine zwingende Anforderung für iPad-Apps. Das iPad arbeitet mit unterschiedlichen Bildschirmgrößen (8,3"–13") und Multitasking-Modi. UIKit bietet Size Classes (horizontal: .regular/.compact, vertikal: .regular/.compact) und UISplitViewController für die automatische Anpassung.
Size Classes sind eine Abstraktion, die den verfügbaren Platz definiert. Auf dem iPad im Vollbildmodus sind beide Achsen .regular. In Split View (50 %) kann die horizontale Klasse auf dem iPad mini oder iPad Air .compact werden. Alle gängigen Layouts, die mit Auto Layout und UICollectionViewCompositionalLayout erstellt wurden, passen sich automatisch an. Die benutzerdefinierte Anpassung erfolgt durch Überschreiben von traitCollectionDidChange.
import SwiftUI
/// Adaptives Layout für iPad mit Size Classes
struct AdaptiveContentView: View {
@Environment(\.horizontalSizeClass) private var horizontalSizeClass
@Environment(\.verticalSizeClass) private var verticalSizeClass
var body: some View {
if horizontalSizeClass == .regular && verticalSizeClass == .regular {
// Tablet-Modus: Seitenleiste + Inhalt
NavigationSplitView {
SidebarView()
} detail: {
ContentGridView()
}
} else {
// Kompakter Modus: Stapelnavigation
NavigationStack {
ContentGridView()
}
}
}
}
/// Beispiel für adaptives Raster: 3 Spalten auf iPad, 2 auf iPhone
struct ContentGridView: View {
@Environment(\.horizontalSizeClass) private var horizontalSizeClass
private var columns: [GridItem] {
let count = horizontalSizeClass == .regular ? 3 : 2
return Array(repeating: GridItem(.flexible(), spacing: 16), count: count)
}
var body: some View {
ScrollView {
LazyVGrid(columns: columns, spacing: 16) {
ForEach(items) { item in
ItemCard(item: item)
}
}
.padding()
}
}
}Im Beispiel wird NavigationSplitView nur verwendet, wenn horizontalSizeClass == .regular (Vollbild-iPad). NavigationStack wird im kompakten Modus verwendet. Die Anzahl der Rasterspalten (3 vs. 2) ändert sich ebenfalls je nach Size Classes. Alles wird automatisch aktualisiert, wenn sich der Multitasking-Modus ändert.
UIKit bietet UISplitViewController mit drei Stilen: .doubleColumn (Seitenleiste + Detail), .tripleColumn (Seitenleiste + primär + Detail) und .single. In iPadOS 16+ wechselt splitViewController automatisch zwischen den Stilen, wenn sich die Size Class ändert. Der Entwickler legt viewControllers für jede Spalte fest, UIKit verwaltet die Sichtbarkeit.
iPadOS SDK enthält alle iOS-Frameworks sowie APIs, die nur auf dem iPad verfügbar sind. Nachfolgend sind die wichtigsten iPad-spezifischen Funktionen aufgeführt.
iPadOS unterstützt Drag & Drop zwischen Apps und innerhalb einer App. UIDragInteraction und UIDropInteraction ermöglichen das Ziehen von Text, Bildern, Dateien und benutzerdefinierten Objekten. Drag & Drop funktioniert gleichzeitig mit Multi-Touch: Der Benutzer kann mehrere Elemente mit verschiedenen Fingern ziehen. In SwiftUI werden die Modifikatoren .onDrag und .onDrop verwendet.
Wenn eine Tastatur angeschlossen ist (Magic Keyboard, Smart Keyboard), ermöglicht UIKeyCommand das Hinzufügen von Tastenkombinationen. In iPadOS 17+ werden Tastaturkurzbefehle bei gedrückter Cmd-Taste angezeigt. Apple empfiehlt die Unterstützung von Standardkombinationen: ⌘C (Kopieren), ⌘V (Einfügen), ⌘F (Suchen), ⌘N (Neues Dokument).
iPadOS 17+ unterstützt externe Monitore mit nativer Auflösung bis zu 6K (Pro Display XDR). Eine App kann Inhalte über UIWindowScene mit einer separaten Sitzungskennung auf einem externen Bildschirm anzeigen. Stage Manager ermöglicht die Platzierung von bis zu 4 Fenstern auf einem externen Monitor mit veränderbaren Abmessungen.
| API | Zweck | Verfügbar in iOS |
|---|---|---|
| UISplitViewController | Mehrspaltige Navigation | Ja |
| PencilKit | Apple Pencil-Zeichnung | Nein |
| UIDragInteraction | Drag & Drop | Ja (nur innerhalb der App) |
| UIKeyCommand | Tastaturkurzbefehle | Ja (nur mit externer Tastatur) |
| UIScene | Multi-Fenster-Modus | Ja (nur iPad) |
| UIPencilInteraction | Apple Pencil Doppeltippen | Nein |
| PDFKit | PDF-Anzeige und Anmerkungen | Ja |
Die Entwicklung für iPadOS erfordert einen besonderen Ansatz in Bezug auf UI/UX, Leistung und Tests. Fehler, die auf dem iPhone verzeihlich sind, werden auf dem iPad aufgrund des größeren Bildschirms und des Multitaskings kritisch.
Das iPad verwendet M-Serie-Chips (M1, M2, M4) mit einheitlichem Speicher von bis zu 16 GB. Trotz der leistungsstarken Hardware teilt eine App in Split View oder Slide Over die Ressourcen mit einer anderen App. Der Speicherdruck ist höher als auf dem iPhone. Verwenden Sie Bildkomprimierung, Lazy Loading von Sammlungen und Profilerstellung über Instruments Allocations. Das iPad Pro M4 mit 16 GB ermöglicht das Ausführen von Desktop-Apps (Final Cut Pro, Logic Pro).
Die meisten iPad-Benutzer verwenden eine externe Tastatur. Die Benutzeroberfläche sollte vollständig über die Tastatur navigierbar sein: Tab zur Feldnavigation, Leertaste zum Aktivieren eines ausgewählten Elements, Enter zur Bestätigung. Fügen Sie Unterstützung für Full Keyboard Access hinzu — eine Systemeinstellung, die die Steuerung beliebiger UI-Elemente mit der Tastatur ermöglicht.
Der iPad-Simulator reproduziert das Multitasking-Verhalten nicht vollständig. Testen Sie auf einem echten Gerät in verschiedenen Modi: Split View mit einer schweren App (Safari mit 20 Tabs), Stage Manager mit 4 Fenstern, Slide Over mit schnellem App-Wechsel. Überprüfen Sie das Szenario: Der Benutzer öffnet die App aus Slide Over, zieht sie in Split View, ändert die Größe, schließt sie — die App sollte nicht abstürzen.
// Aktuellen Multitasking-Modus auf iPadOS prüfen
- (void)checkMultitaskingMode:(UIWindowScene *)scene {
if (scene.traitCollection.userInterfaceIdiom != UIUserInterfaceIdiomPad) {
return;
}
BOOL isFullScreen = (scene.traitCollection.horizontalSizeClass == UIUserInterfaceSizeClassRegular &&
scene.traitCollection.verticalSizeClass == UIUserInterfaceSizeClassRegular);
BOOL isSlideOver = (CGRectGetWidth(scene.coordinateSpace.bounds) == 320.0);
if (scene.windows.first?.windowScene?.activationConditions.canBecomeFocused == YES) {
NSLog(@"Stage Manager aktiv");
}
if (isSlideOver) {
NSLog(@"Slide Over-Modus");
} else if (isFullScreen) {
NSLog(@"Vollbildmodus");
} else {
NSLog(@"Split View-Modus");
}
}Häufig gestellte Fragen
iPadOS verfügt über erweitertes Multitasking (Split View, Slide Over, Stage Manager), Apple Pencil-Unterstützung mit Hover-Erkennung, Desktop-Safari mit Download-Manager, externe Monitore mit nativer Auflösung und das Dateisystem Files mit Zugriff auf externe Laufwerke über USB-C.
Split View wird automatisch unterstützt, wenn die App UISplitViewController verwendet. Die App muss Size-Class-Änderungen korrekt verarbeiten: Verwenden Sie beim Wechsel in den kompakten Modus UINavigationController für den Bildschirmstapel. Um Split View explizit zu deaktivieren, geben Sie UIRequiresFullScreen = YES in Info.plist an.
Verwenden Sie PencilKit: PKCanvasView für die Zeichenfläche und PKToolPicker für die Werkzeugauswahl. Für die benutzerdefinierte Stifteingabeverarbeitung — UIEvent mit Typ .hover und UIPencilInteraction für Doppeltippen. Die Latenz des Apple Pencil Pro beträgt 9 ms, die der Vorgängergeneration 20 ms.
iPad mini 8,3" (2266×1488), iPad Air 10,9" (2360×1640), iPad Pro 11" (2388×1668), iPad Pro 13" M4 (2752×2064). Verwenden Sie Size Classes und Auto Layout zur Anpassung. Externe Monitore bis 6K über Thunderbolt. Stage Manager unterstützt bis zu 8 Fenster (4 auf dem iPad + 4 auf dem externen Monitor).
iPadOS 17+ unterstützt externe Monitore über USB-C/Thunderbolt mit nativer Auflösung bis zu 6K. Eine App kann Inhalte auf einem externen Monitor über eine separate UIWindowScene mit eigenem Lebenszyklus anzeigen. Stage Manager unterstützt bis zu 4 Fenster auf einem externen Monitor.
Zusammenfassung
Wir entwickeln eine mobile Applikation schlüsselfertig
IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.
Lesen Sie auch