
Keamanan WidgetKit
WidgetKit adalah kerangka yang digunakan pengembang untuk menawarkan widget dan komplikasi jam. Keduanya mungkin menampilkan informasi sensitif dan dapat sangat terlihat, khususnya di perangkat dengan layar Selalu Nyala.
Di iOS, pengguna dapat mengonfigurasi apakah akan menampilkan data sensitif di Layar Terkunci dan saat dalam mode Selalu Nyala. Di Pengaturan, pengguna dapat menonaktifkan akses data untuk widget Layar Terkunci di bagian “Izinkan Akses Saat Terkunci” pada Pengaturan > Face ID & Kode Sandi.
Di Apple Watch, pengguna dapat mengonfigurasi apakah akan menampilkan data sensitif selama Selalu Nyala dengan memilih Pengaturan > Layar & Kecerahan > Selalu Nyala > Sembunyikan Komplikasi Sensitif. Pengguna juga dapat memilih untuk menampilkan konten yang disunting untuk semua atau masing-masing komplikasi.
Jika pengguna memilih untuk menyembunyikan konten yang ia anggap pribadi, WidgetKit membuat placeholder atau suntingan. Untuk mengonfigurasi suntingan, pengembang harus:
1. Menerapkan redacted(reason:)
pembalikan.
2. Membacakan properti privacy
.
3. Menyediakan tampilan placeholder khusus.
Pengembang juga dapat membuat tampilan tanpa suntingan dengan pengubah tampilan unredacted()
.
Sebagai alternatif dari menandai tampilan terpisah sebagai sensitif terhadap privasi, misalnya, jika seluruh konten widget bersifat sensitif terhadap privasi, pengembang dapat menambahkan kemampuan Perlindungan Data ke ekstensi widget. Hingga pengguna membuka perangkat mereka untuk mencocokkan label privasi yang dipilih, WidgetKit akan menampilkan placeholder alih-alih konten widget. Pengembang harus mengaktifkan kemampuan Perlindungan Data untuk ekstensi widget di Xcode lalu mengatur hak Data Protection
ke nilai yang sesuai dengan level privasi yang ingin mereka tawarkan:
NSFileProtectionComplete
NSFileProtectionCompleteUnlessOpen
WidgetKit menyembunyikan konten widget ini saat perangkat dikunci kode sandi dan menampilkan placeholder hingga pengguna mengesahkan setelah mereka memulai ulang perangkatnya. Selain itu, widget iOS ini tidak tersedia sebagai widget iPhone di Mac.