
Sicherheit beim WidgetKit
WidgetKit ist das Framework, mit dem Entwicklungsteams Widgets und Apple Watch-Komplikationen bereitstellen können. Beide können sensible Informationen auf deutlich sichtbare Weise anzeigen. Das gilt besonders für Geräte mit der aktivierten Option „Immer eingeschaltet“.
Auf einem iPhone können Benutzer:innen konfigurieren, ob sensible Daten auf dem Sperrbildschirm angezeigt werden, wenn die Option „Immer eingeschaltet“ aktiviert ist. In der App „Einstellungen“ können sie den Datenzugriff für Widgets auf dem Sperrbildschirm im Bereich „Im Sperrzustand Zugriff erlauben“ unter „Einstellungen“ > „Face ID & Code“ deaktivieren.
Auf der Apple Watch können Benutzer:innen unter „Einstellungen“ > „Anzeige & Helligkeit“ > „Immer eingeschaltet“ > „Sensible Komplikationen ausblenden“ konfigurieren, ob sensible Daten angezeigt werden sollen, wenn die Option „Immer eingeschaltet“ aktiviert ist. Sie können außerdem auswählen, ob gekürzte Inhalte für alle oder einzelne Komplikationen angezeigt werden sollen.
Wenn Benutzer:innen Inhalte ausblenden möchten, die sie als privat betrachten, zeigt WidgetKit einen Platzhalter oder Kürzungen an. Entwicklungsteams müssen wie folgt vorgehen, um Kürzungen zu konfigurieren:
1. Den Callback redacted(reason:)
implementieren.
2. Die Eigenschaft privacy
auslesen.
3. Eigene Platzhalteransichten bereitstellen.
Außerdem können Entwicklungsteams Ansichten mit dem Anzeigemodifikator unredacted()
ungekürzt darstellen.
Als Alternative zur Markierung einzelner Ansichten als privat, können Entwicklungsteams die Funktion „Datensicherheit“ zu einer Widget-Erweiterung hinzufügen (beispielsweise in Fällen, in denen der gesamte Inhalt eines Widgets datenschutztechnisch sensibel ist). Daraufhin zeigt WidgetKit Platzhalter anstelle des Widget-Inhalts an, bis Benutzer:innen ihr Gerät gemäß der ausgewählten Datensicherheitsstufe entsperren. Entwicklungsteams müssen die Funktion „Datensicherheit“ für die Widget-Erweiterung in Xcode aktivieren und dann den Wert für Data Protection
gemäß der Datensicherheitsstufe festlegen, die sie bereitstellen wollen:
NSFileProtectionComplete
NSFileProtectionCompleteUnlessOpen
Im WidgetKit sind diese Widget-Inhalte ausgeblendet, wenn das Gerät passwortgeschützt ist und einen Platzhalter anzeigt, bis die Benutzerauthentifzierung nach dem Neustart ihrer Geräte erfolgt ist. iOS-Widgets sind zudem als iPhone-Widgets auf dem Mac verfügbar.