티스토리 뷰

728x90

요근래 App store connect에서 한번이라도 앱 심사 제출을 해봤다면 아래 메일을 받은적이 있을겁니다.

 

 

내용을 요약하면

PrivacyInfo 파일에 해당 API 사용이유를 추가하지 않으면 24년 5월부터 앱이 승인되지 않습니다.

 

는 내용인데요.

 

오늘은 Privacy Manifests에 대한 내용으로 블로깅을 해보려고 합니다.

 

 

알아볼 내용

 

  • PrivacyInfo 
  • 앱 내 대응
  • 3rd-party 라이브러리 대응

 

1. PrivacyInfo

왜 갑자기 생겼나?

 

공식문서에 보면

주요 기능을 제공하기 위해 사용하는 일부 API는 기기신호에 접근하여 악용될 가능성이 있어, (핑거프린팅 이라 불린다네요.)

앱 또는 서드파티 라이브러리에서 API를 사용하는 이유를 설명하게 하기 위함 이라고 합니다.

 

심사제출을 하고나면 아래와 같은 이메일이 왔을텐데 빨간표시가 되어있는 부분을 privacy Info에 추가해 주면 됩니다.

 

 

2. 앱 내 대응

먼저 새 파일 (cmd + n)에서 App Privacy 파일을 추가해주시고

 

targets을 꼭! 체크해줍니다.

안할경우 심사제출시 또 메일이 옵니다.

 

 

잘 추가 됐는지 좌측 네비게이션 바에 PrivacyInfo가 있는지 확인해주시고

 

아래와 같이 API Type과 API Reasons를 알맞게 세팅해줍니다.

(공식문서에 나와있는 Reasons은 여러개가 있지만 Xcode에서는 다 있진 않은것 같아요)

예시로 User Defaults, Disk Space만 적용한 모습

 

아래는 공식문서에 있는 UserDefauls API Reasons 코드들 입니다. 현재 앱과 유사한 Reason을 선택해주면 돼요.

UserDefault 예시shttps://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api#4278401

 

 나머지는 메일 받은 부분에 해당하는 Type과 적절한 Reasons을 추가해주시면 됩니다.

 

 

 

3. 3rd-party 라이브러리 대응

 

이게 조금 골치 아픕니다..

기간이 정확히 언제인지 나와있진 않으나 위 내용과 비슷하게 5월전까진 해야할것 같네요. (spring이라고만 나와있음)

 

아래 한번 정도는 들어봤을만한 라이브러리들도 공식문서에서 언급한대로 Privacy Info가 포함된 버전으로 업데이트를 해야하는데요.

애플에서 언급한 라이브러리

 

대부분의 라이브러리들은 다행히도 추가가 되어있지만, 아직 추가 안하고 버티고(?) 있는 라이브러리들도 있습니다. 

대표적으로 RxSwift는 아직 안되어있어요. 

 

RxSwift는 privacy manifest 추가할 필요없어보인다 라는 내용

 

 

아래는 현재 각 라이브러리 마다 Privacy Info 업데이트 현황을 알려주는 사이트 입니다. 도움이 됐으면 좋겠어요! (링크)

https://apnspush.com/privacy-manifest-sdks#all-86-required-sdks-and-status-in-supporting-privacy-manifest

 

Apple's Privacy Manifest: 86 third-party SDKs required to add Privacy Manifest and Signature | APNsPush

Apps uploaded to App Store Connect must be built with Xcode 15 for iOS 17, iPadOS 17, tvOS 17, or watchOS 10, starting April 29, 2024. Starting in spring 2024, you must include the privacy manifest for any SDK listed below when you submit new apps in App S

apnspush.com

 

 

 

현재 프로젝트에서 패키지관리를 Pod, SPM 둘다 사용하고 있는데 이번기회에 SPM으로 다 바꿔도 괜찮겠다는 생각이 들었습니다. 

 

애플이 얘기했던 날짜까지 보름하고 조금 더 남은시점인데 

아직 업데이트를 안한 라이브러리들이 있어 수동으로라도 추가를해야하나 고민이 되긴하네요.

 

그리고 현재 ReactNative도 가끔하고 있는데

80~90개가 넘는 라이브러리 업데이트를 어떻게하고, 프로젝트의 RN버전과 호환이 되는지 고려도 해야하는상황이라

다른 크로스플랫폼 개발자분들은 어떻게 대비하고 계신지 궁금하네요.


 

 

 

 

 

 

728x90