투케이2K

431. (ios/xcode) [Privacy manifest files] : [1] : 개인정보 매니페스트 파일 기본 설명 본문

IOS

431. (ios/xcode) [Privacy manifest files] : [1] : 개인정보 매니페스트 파일 기본 설명

투케이2K 2024. 4. 3. 20:42
반응형

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT5

 

[방법 설명]

 

--------------------------------------------------------------------------------------------------------------

1. Privacy manifest files 은 애플에서 발표한 개인정보 보호 정책으로 2024-05-01 이후 부터 해당 파일에
   NSPrivacyAccessedAPI 사용 이유 명시 후 앱 스토어에 업데이트를 수행해야합니다

   >> 해당 개인 정보 보호 정책 관련 파일에 API 사용 이유가 명시되어 있지 않으면 Reject 될 수 있습니다

   >> NSPrivacyAccessedAPI 명시 내용 중 UserDefaults 가 포함되어 있어 .. 거의 대부분의 앱이 NSPrivacyAccessedAPI 사용 명시를 해야할 것 같습니다 .

   >> Privacy manifest files 파일 생성 시 앱 Target 을 선택해 주셔야 추후 Archive 수행 시 참조 됩니다

   >> 안녕하세요,
        다음 앱에 대한 최근 App Store 심사 제출에서 하나 이상의 문제가 발견되었습니다.
        • ....
        • 버전 2.2.6
        • 빌드 3001
        App Store 검토를 위한 제출이 성공적으로 완료되었더라도 다음 번 App Store 검토 제출 시 다음 문제를 수정하는 것이 좋습니다. 문제를 수정한 후 App Store Connect에 새 바이너리를 업로드하세요.
        ITMS-91053: API 선언 누락 - "PlugIns/ApnsService.appex/ApnsService" 파일의 앱 코드는 다음 API 범주를 포함하여 이유가 필요한 하나 이상의 API를 참조합니다. NSPrivacyAccessedAPICategoryUserDefaults. 현재로서는 별도의 조치가 필요하지 않지만 
        2024년 5월 1일부터 새 앱이나 앱 업데이트를 업로드할 때 앱의 개인 정보 보호 매니페스트에 NSPrivacyAccessedAPITypes 배열을 포함하여 앱 코드에서 사용되는 이러한 API에 대해 승인된 이유를 제공해야 합니다. 
        필수 이유 API 목록 및 승인된 사용 이유를 포함하여 이 정책에 대한 자세한 내용을 보려면 https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api를 방문하세요.
        Apple 개발자 관계

--------------------------------------------------------------------------------------------------------------

2. Privacy manifest files 은 수집하는 데이터와 Required Reason API 를 사용하는 이유를 명시한 파일로
   서비스 하는 앱 뿐만 아니라 해당 앱에 포함 된 외부 SDK 에도 Privacy manifest files 를 포함해 업데이트 제출해야합니다

  >> 외부 SDK 는 코코아 팟 및 SPM 을 통해 설치 된 라이브러리, 특정 기능 사용을 위해 외부 업체로부터 제공 받은 라이브러리가 있습니다

  >> Git 에서 특정 라이브러리 Clone 후 프로젝트를 열어 보면 Privacy manifest files 을 확인할 수 있습니다

  >> 외부 업체로부터 제공 받은 동적 SDK 에 정상적으로 Privacy manifest files 이 포함되어 있지 않은 경우 Privacy manifest files 를 포함해 다시 제공 받아야합니다

  >> 외부 업체로부터 소스 코드 형식으로 제공 받은 경우 개인정보 보호 정책 항목 확인 후 서비스 앱 Privacy manifest files 에 추가해주면 됩니다

--------------------------------------------------------------------------------------------------------------

3. Privacy manifest files (PrivacyInfo.xcprivacy) 에 기본적으로 포함 되는 항목 설명 : 

  >> Privacy Tracking Enabled : 추적을 위해 데이터를 사용하는지 여부를 나타내는 Boolean 값입니다
       - 기기의 광고 식별자에 접근하려면 ATT(AppTrackingTransparency) 프레임워크를 통해 사용자의 허가를 받아야 합니다
       - 애플 사이트 : https://developer.apple.com/app-store/user-privacy-and-data-use/


  >> Privacy Tracking Domains : 추적에 사용되는 인터넷 도메인을 나열한 String 배열입니다
       - 개인정보 보호 목적으로 추적 도메인을 설정해 사용자가 추적을 허용하지 않았다면 iOS 17에선 자동으로 추적 도메인 연결을 끊어버립니다


  >> Privacy Natrition Label Types (PrivacyCollectedDataTypes) : dictionary 배열로 수집하는 데이터 항목을 나타냅니다 (key, value)
       - 애플 사이트 : https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_data_use_in_privacy_manifests


  >> Privacy Accessed API Types : dictionary 배열로 접근하는 API 타입을 나타냅니다 (key, value)
       - 애플 사이트 : https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api
       - value 값 지정 시에는 [타입, 코드, 사용 이유] 를 명시해줘야 합니다
       - value 예시 : 

             <key>NSPrivacyAccessedAPITypes</key>
                   <array>
                         <dict>
                              <key>NSPrivacyAccessedAPIType</key>
                              <string>NSPrivacyAccessedAPICategoryUserDefaults</string>
                              <key>NSPrivacyAccessedAPITypeReasons</key>
                              <array>
                              <string>CA92.1 - 기본 앱 사용간 필요 정보 저장</string>
                              </array>
                         </dict>
                  </array>

--------------------------------------------------------------------------------------------------------------

4. 참고 사이트 : 

- [개인정보 매니페스트 파일 기본 설명]

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


- [개인정보 보호 관련하여 영향을 끼칠만한 외부 SDK 목록화]

https://developer.apple.com/kr/support/third-party-SDK-requirements/


- [Accessed API 사용 설명]

https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api


- [PrivacyCollectedData : 개인 정보 데이터 사용 설명]

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

--------------------------------------------------------------------------------------------------------------

 

반응형
Comments