WidgetKit 保安
WidgetKit 是開發者用來提供小工具和手錶複雜功能的架構。兩者都可能顯示敏感資料,尤其在配備常亮螢幕的裝置上可能會容易看到。
在 iOS 中,用户可以設定是否要在鎖定畫面和「常亮」下顯示敏感資料。在「設定」中,用户可以在「設定」>「Face ID 與密碼」的「鎖定時允許使用」中停止鎖定畫面小工具使用資料的權限。
在 Apple Watch 上,用户可以選擇「設定」>「螢幕與亮度」>「常亮」>「隱藏敏感複雜功能」來設定是否要在「常亮」下顯示敏感資料。用户也可以選擇讓所有或個別的複雜功能顯示已遮蔽的內容。
如果用户選擇隱藏他們認為是私密內容,WidgetKit 會呈現暫存區或遮蔽。如要設定遮蔽,開發者必須:
1.導入 redacted(reason:)
回調。
2.朗讀 privacy
屬性。
3.提供自訂暫存區顯示方式。
開發者也可以使用 unredacted()
顯示方式修改器讓顯示方式呈現為未遮蔽的狀態。
作為將個別顯示方式標記為私隱敏感的替代方案,例如,如果整個小工具內容都是私隱敏感的,開發者可以將「資料保護」功能加入小工具延伸功能中。WidgetKit 會顯示暫存區而非小工具內容,直至用户解鎖裝置來符合所選的私隱層級。開發者必須在 Xcode 中為小工具延伸功能啟用「資料保護」功能,然後將 Data Protection
授權的數值設定為符合他們希望提供的私隱層級:
NSFileProtectionComplete
NSFileProtectionCompleteUnlessOpen
當裝置以密碼鎖定時,WidgetKit 會隱藏這些小工具的內容,並在用户重新啟動裝置後顯示暫存區,直到用户進行認證。此外,這些 iOS 小工具在 Mac 上無法以 iPhone 小工具的形式提供。
感謝您提供意見。