
WidgetKit 보안
WidgetKit는 개발자가 위젯 및 시계 컴플리케이션을 제공하려고 사용하는 프레임워크입니다. 해당 컴플리케이션은 민감한 정보를 표시할 수 있으며 이는 화면 상시표시가 있는 기기에서 특히 잘 보일 수 있습니다.
iPhone에서 사용자들은 잠금 화면 또는 화면 상시표시에서 민감한 데이터를 표시할지 여부를 구성할 수 있습니다. 설정 > Face ID 및 암호의 ‘잠겨 있는 동안 접근 허용’에서 잠금 화면 위젯의 데이터 접근을 비활성화할 수 있습니다.
Apple Watch에서 사용자들은 설정 > 디스플레이 및 밝기 > 화면 상시표시 > 민감한 컴플리케이션 가리기를 선택해 화면 상시표시에서 민감한 데이터를 표시할지 여부를 구성할 수 있습니다. 또한 모든 컴플리케이션 또는 개인 컴플리케이션의 수정된 콘텐츠를 표시할 수 있습니다.
사용자가 비공개 콘텐츠를 가리려는 경우, WidgetKit이 위치 지정자 또는 수정을 렌더링합니다. 수정을 구성하려면 개발자는 다음을 수행해야 합니다.
1. redacted(reason:)
콜백을 적용하십시오.
2. privacy
속성을 읽으십시오.
3. 사용자 설정 위치 지정자 보기를 제공하십시오.
개발자는 unredacted()
보기 변경자로 보기를 수정하지 않은 상태로 렌더링할 수도 있습니다.
예를 들어, 전체 위젯 콘텐츠의 개인정보를 보호해야 하는 경우, 개발자는 개인 보기를 개인정보 보호로 표시하는 대신에 위젯 확장 프로그램에 데이터 보호 기능을 추가할 수 있습니다. 선택한 개인정보 보호 수준과 일치하도록 기기를 잠금 해제할 때까지 WidgetKit는 위젯 콘텐츠 대신에 위치 지정자를 표시합니다. 개발자는 Xcode에서 위젯 확장 프로그램의 데이터 보호 기능을 활성화한 다음, 제공하려는 개인정보 보호 수준에 적합한 값으로 Data Protection
권한을 설정해야 합니다.
NSFileProtectionComplete
NSFileProtectionCompleteUnlessOpen
WidgetKit는 기기가 암호로 잠겨 있을 때 이러한 위젯의 콘텐츠를 가리며, 사용자가 기기를 재시동한 후에 인증할 때까지 위치 지정자를 표시합니다. 또한 이러한 iOS 위젯은 Mac에서 iPhone 위젯으로 사용할 수 없습니다.