관리 메뉴

김종권의 iOS 앱 개발 알아가기

[iOS - swift] 2. Privacy manifest 적용 방법 (PrivacyInfo.xcprivacy) 본문

iOS 응용 (swift)

[iOS - swift] 2. Privacy manifest 적용 방법 (PrivacyInfo.xcprivacy)

jake-kim 2024. 3. 27. 01:51

1. Privacy manifest 개념, 사용해야하는 이유 (PrivacyInfo.xcprivacy)

2. Privacy manifest 적용 방법 (PrivacyInfo.xcprivacy)

3. Privacy manifest의 privacy report 사용 방법

Prvacy Manifest 작성

  • Xcode > 파일 생성 > privacy 검색 > App Privacy 선택

  • 생성된 형태
    • 손바닥 모양의 아이콘으로 되어 있고, plist처럼 표출

(최초 만들면 App Privacy Configuraton 키값만 있고 value값은 없으므로, 편의를 위해 유명한 라이브러리인 Alamofire에 어떻게 작성되어 있는지 확인)

  • Alamofire깃을 clone하고 프로젝트를 열어 PrivacyInfo 파일을 확인

  • Privacy Tracking Enabled: 앱이 추적하지 않음 (ATT를 사용하지 않음)

  • 다 열어보면 아래쪽에 Privacy Accesed API Types 안의 value값을 보면, System Boot Time을 사용하고 on-device의 시간을 측정한다는 값이 존재

  • Xcode에서 Privacy Accessed API Types에서 +버튼을 눌러 아이템을 하나 만들면 자동으로 템플릿으로 입력해야하는 정보가 key값으로 만들어지므로 편하게 작성이 가능
  • 다른 예제) 

  • 사용자의 이름을 수집하는 곳도 있고 이 이름을 Linekd to User하는 것이 기입
    • Collection Purposes를 이를 사용하는 목적도 기입

어떤것을 기록해야하는지?

  • PrivacyInfo파일에서 key로 주어지는 것
    • NSPrivacyCollectedDataType: Stirng 타입
    • NSPrivacyCollectedDataTypeLinked: Bool 타입
    • NSPrivacyCollectedDataTypeTracking: Bool 타입
    • NSPrivacyCollectedDataTypePurposes: Array 타입
  • 앱 유형에 따라 아래와 같은 것들을 기록

헬스 관련)

위치 관련)

(이밖의 유형들은 애플 가이드 참고)

 

* 이렇게 plist로 적용해놓으면 보기 쉽게 한번에 볼 수 있는 리포트가 있는데, 이 방법은 다음 포스팅 글에서 계속

 

* 참고

- https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_data_use_in_privacy_manifests

- https://github.com/Alamofire/Alamofire

- https://developer.apple.com/videos/play/wwdc2023/10060/

- https://developer.apple.com/documentation/bundleresources/privacy_manifest_files#overview

Comments