Was ist die Dynamic Island überhaupt?
Die Dynamic Island ist eine optische und Software-relevante Neuerung, die die Frontkamera
und Lautsprecher von iPhone 14 Pro und Pro Max oder neuer in eine ovale „Insel“
umwandelt. Hier können Benachrichtigungen, Status-Updates, Aktivitäten und Anzeigen
eingebaut werden, die die Nutzererfahrung erheblich verbessern können.
Auf den ersten Blick ist die „Dynamic Island“ lediglich eine schwarze Aussparung in der
oberen Bildschirmmitte. Hier sind allerdings die Sensoren für die Kamera und Face-ID
versteckt. Der Spalt wurde aber im Vorgängervergleich um rund 30 Prozent verkleinert.
Anders als bei der Notch, ist der Balken zudem nicht dauerhaft schwarz. Stattdessen
werden hier verschiedene Funktionen und Informationen abgebildet.
Welche Aufgaben erfüllt die Dynamic Island?
Die Dynamic Island gibt den Usern die Möglichkeit, wichtige Echtzeitinformation
anzuzeigen, ohne dass dieser die entsprechende App geöffnet haben muss. Der Vorteil
hierbei ist, dass die User nur die wichtigsten Informationen erhalten und bei Bedarf mit
einem kurzen Drücken auf die Dynamic Island noch weitere wichtige Information sich
anzeigen lassen können oder gleich wieder zurück in die App springen.
Aufbau der Dynamic Island mit Swift
Um die Dynamic Island selbst in die eigene App einbauen zu können, muss als erstes
sichergestellt sein, dass Xcode auf dem aktuellsten Stand ist. Zum Zeitpunkt des
Artikels war diese 14.1. Zudem muss sichergestellt sein, dass die App mit iOS 16.4 oder
höher kompatibel ist. Da nun die wichtigsten Grundvoraussetzungen erfühlt sind, können
wir nun in der info.plist „Supports Live Activities“ auf „Yes“ setzen. Das müssen wir
machen, um die Live Activity Bibliothek von Apple in unserem Projekt zu unterstützen.
Nun muss, falls noch nicht implementiert, das WidgetKit-Framework zu Ihrem Projekt
hinzugefügt werden. Da uns das WidgetKit-Framework einen besonderen Konfigurationstyp
namens ActivityConfiguration bietet, können wir nun ein Live-Activity-Widget definieren.
Abbildung 1: Die Dymanic Island bringt Hinweise und Live
Aktivitäten wie Anrufe, Timer, die Musiksteuerung und vieles mehr ganz nach vorne
@available(iOSApplicationExtension 16.1, *)
struct FastingActivityWidget: Widget {
var body: some WidgetConfiguration {
ActivityConfiguration(for: FastingAttributes.self) { context in
LiveActivityView(context: context)
.padding(.horizontal)
} dynamicIsland: { context in
DynamicIsland {
DynamicIslandExpandedRegion(.leading) {
LiveActivityView(context: context)
}
} compactLeading: {
Image(systemName: "circle")
.foregroundColor(.green)
} compactTrailing: {
Text(verbatim:
context.state.progress.formatted(.percent.precision(.fractionLength(0))))
.foregroundColor(context.state.stage?.color)
} minimal: {
Image(systemName: "circle")
.foregroundColor(.green)
}
}
}
}
In diesem Beispiel verwenden wir den Typ ActivityConfiguration, um eine SwiftUI-Ansicht
zu definieren, die sowohl auf dem Sperrbildschirm angezeigt wird und auch für die
Darstellung der Dynamic Island zum Einsatz kommt.
Abbildung 2: Kompakte Darstellung
Die kompakte Darstellung der Dynamic Island wird immer dann vom System verwendet, wenn
nur eine Live-Aktivität aktiv ist. Die kompakte Darstellung besteht aus zwei separaten
Elementen: einem, das auf der linken Seite der Frontkamera angezeigt wird und einem, das
auf der rechten Seite angezeigt wird. Obwohl die kompakte Darstellung nur wenig Platz
bietet, zeigt sie aktuelle Informationen über die Live-Aktivität einer App an.
Abbildung 3: Minimale Darstellung
Wenn mehrere Live-Aktivitäten aktiv sind, verwendet das System die minimale Darstellung,
um zwei davon in der Dynamic Island anzuzeigen. Eine Live-Aktivität wird an die Dynamic
Island angehängt, während die andere abgetrennt erscheint. Je nach Größe des Inhalts
erscheint die abgetrennte Minimal-Live-Activity kreisförmig oder oval. Wie auch schon
bei der kompakten Darstellung, können die Benutzer auf die minimale Live-Aktivität
tippen, um eine App zu öffnen, mehr Details über das Ereignis oder die Aufgabe zu
erfahren oder sie berühren und halten sie, um wichtige Steuerelemente zu verwenden und
zusätzliche Inhalte in der erweiterten Darstellung anzuzeigen.
Abbildung 4: Erweiterte Darstellung
Zum Schluss hätten wir noch die erweiterte Darstellung der Dynamic Island, diese wird
angezeigt, wenn die Benutzer etwas länger auf die Dynamic Island drücken. Dadurch erhält
die Dynamic Island mehr Platz, um Information anzeigen zu können.
Abbildung 5: Von Wanderungen tracken, bis zur Wettervorhersage über
den Countdown für das laufende Workout – hilfreiche Infos in einer kompakten und
cleveren UI
Fazit
Die Implementierung der Live Activity API in eine iOS-App kann eine großartige
Möglichkeit sein, die App zu verbessern und deren Nutzern ein besseres Erlebnis der App
bieten zu können. Zudem steht die Dynamic Island noch ganz am Anfang und wird in Zukunft
bestimmt noch weiter faszinierende Erweiterung von Apple erhalten, um den Benutzer ein
noch besseres iPhone Erlebnis bieten zu können.