728x90
반응형

요즘 IOS 앱을 심사 넣을때 메일로 연락이 온다.

해당 내용은 현재 23년 3월 21일에는 문제가 없지만,

starting May 1, 2024, 

24년 5월 1일부터는 새로 앱을 올리거나, 업데이트를 하게되면 문제가 된다는 내용이다.

해당 내용은 이렇다.

 

해당 링크로 이동해서 해석해보면 업데이트된 애플의 개인정보 정책에 대해서 앱내에 명시를 해줘야한다 로 요약할수 있다.

그러면 해당 api들을 추가해보자

 

 

일단 xcode에서 새 파일을 만든다.

 

 

app privacy 파일을 만든다.

 

메일로 온 api 의 코드 종류를 알아보겠다

 

NSPrivacyAccessedAPICategoryDiskSpace

  • 85F4.1장치를 사용하는 사람에게 디스크 공간 정보 표시(표시만 가능, 장치 외부로 보내는 정보는 포함되지 않음)
  • E174.1파일을 쓸 수 있을 만큼 디스크 공간이 충분한지 확인하거나, 디스크 공간이 부족할 때 앱이 파일을 삭제할 수 있도록 디스크 공간이 부족한지 확인하세요.
  • 7D9E.1버그 보고서에 사용됩니다. 단, 제출 여부는 사용자가 선택하는 선택정보이어야 합니다.
  • B728.1건강 연구    API 카테고리에 액세스하여 연구 데이터 수집에 영향을 미치는 디스크 공간 부족에 대해 연구 참여자에게 감지하고 알립니다.

NSPrivacyAccessedAPICategorySystemBootTime

  • 35F9.1앱 내에서 발생한 이벤트 사이에 경과된 시간을 측정하거나 타이머 활성화 계산을 수행하기 위해 시스템 부팅 시간에 액세스합니다. 이 데이터를 이 장치 밖으로 보낼 수 없습니다.
  • 8FFB.1 UIKit 또는 AVFAudio 프레임워크와 관련된 이벤트와 같이 앱 내에서 발생한 이벤트에 대한 절대 타임스탬프를 계산합니다.
  • 3D61.1그 사람이 제출하기로 선택한 버그 보고서에서. 시스템 부팅 시간 정보는 보고서의 일부로 사람에게 눈에 띄게 표시되어야 합니다.

NSPrivacyAccessedAPICategoryFileTimestamp

  • DDA9.1장치를 사용하는 사람에게 파일 타임스탬프를 표시하려고 합니다.
    • 참고: 이러한 이유를 선언하면 정보가 기기 외부로 전송되지 않을 수 있습니다.
  • C617.1앱 컨테이너, 앱 그룹 컨테이너 또는 앱의 CloudKit 컨테이너 내부에 있는 파일의 타임스탬프, 크기 또는 기타 메타데이터에 액세스하세요.
  • 3B52.1문서 선택기 보기 컨트롤러를 사용하는 등 사용자가 특별히 액세스 권한을 부여한 파일이나 디렉터리의 타임스탬프, 크기 또는 기타 메타데이터에 액세스합니다.
  • 0A2A.1타사 SDK가 앱에서 사용할 파일 타임스탬프 API에 대한 래퍼 함수를 제공하고 앱이 래퍼 함수를 호출할 때만 파일 타임스탬프 API에 액세스하는 경우 이 이유를 선언하세요.

요약하자면,

3B52.1  시스템 기본 파일 선택기를 사용하여 사용자가 선택한 파일만 읽는 경우에  사용하세요  . 

DDA9.1 정보를 표시하기만 하고 정보를 저장하거나 업로드하지 않는 경우에 사용하세요  .

C617.1 , 그룹 또는 CloudKit 내에서 정보에 액세스하고 사용하는 경우 사용하세요  .

 

NSPrivacyAccessedAPICategoryUserDefaults

  • CA92.1액세스 사용자는 기본적으로 앱 자체에서만 액세스할 수 있는 정보를 읽고 쓸 수 있습니다.
    • 참고: 이 코드를 선언하면 앱 그룹 내에서 UserDefaults 값을 공유할 수 없습니다(앱과 위젯 간에 데이터를 공유할 수 없음).
  • 1C8F.1액세스 사용자는 기본적으로 앱 자체와 동일한 앱 그룹의 구성원인 앱, 앱 확장 프로그램 및 앱 클립에만 액세스할 수 있는 정보를 읽고 씁니다.
  • C56D.1타사 SDK는 앱이 사용할 사용자 기본 API에 대한 래퍼 기능을 제공하며, 앱이 래퍼 함수를 호출할 때만 사용자 기본 API에 액세스합니다.
    • 참고: 이러한 이유로 액세스된 정보 또는 파생된 정보는 타사 SDK의 자체 목적으로 사용되거나 타사 SDK에 의해 장치 외부로 전송될 수 없습니다.
    • 예를 들어,  앱이 UserDefaults 사용하여 기본 iOS 앱과 위젯 사이에 1C8F.1 사용해야 하는지 여부를 표시하기 위해 사용자의 현재 도시를 공유하는 경우

 

해당 코드를 읽어보고 하나하나씩 본인에 맞는 것으로 선택하면된다.

 

reason을 추가할때, 충분한 설명이 나와있다.

 

설명서를 잘읽고,

구글 analytics 와 sentry가 앱내 붙어있는것을 감안하여, 이유들을 등록하였다. 

최종은

 

이다.

 

해당 privacyInfo 파일을 추가해서 전송하니, 더이상 

Missing API declaration

에 해당하는 메일이 오지않았다.

 

저번주에 ios로 이커머스를 서비스할때, eu 정책이 바뀌어서, 세금관련 정보를 추가했는데, 이번주에는 개인정보 정책을 업로드했다.

 

항상 개발자 메일을 잘 확인해야한다.

 

 

참고링크

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

 

728x90
반응형

+ Recent posts