1. React Native 앱 내에서 앱 추적 권한 요청하기
  2. 앱 추적 투명성(App Tracking Transparency) 제거 시도시 App Store Connect에 반영이 되지 않는 버그

React Native 앱 내에서 앱 추적 권한 요청하기

앱에서 추적 허용 권한을 얻으러면, ios/Appname/Info.plist 파일 내에 아래의 코드를 넣어야 한다.

Info.plist
1
2
<key>NSUserTrackingUsageDescription</key>
<string>예시 문구 : 유저에게 최적화된 광고를 제공하기 위해 광고 활동 정보를 수집하고 있어요.</string>

이후 빌드된 파일을 App Store Connect에 업로드하면, 아래와 같이 앱이 수집하는 개인정보 탭에서 광고 데이터에 체크가 되어있는걸 볼 수 있다.

이후 앱을 실행했을 때 추적 허용 여부를 묻는 모달을 띄워야 하는데, 이 떄 react-native-permissions 라이브러리가 필요하다.

이후 구체적인 과정은 이 블로그를 참고하며 많은 도움을 받았다.

앱 추적 투명성(App Tracking Transparency) 제거 시도시 App Store Connect에 반영이 되지 않는 버그

이 버그는 HYPE 개발중에 나를 빡치게 만든 이슈 중 당당히 Top 3 안에 들었다.

앱 추적 권한 요청 모달이 잘 해결되지 않아 아예 앱 추적 투명성을 지워보려고 시도했었다. Info.plist에서 NSUserTrackingUsageDescription 키와 string을 삭제하고 다시 빌드한 후 App Store Connect에 업로드해서 권한을 요청 여부를 변경하려 하는데..


이 문구가 사라지지 않으면서 게시 버튼이 눌리지도 않는다. 일단 Info.plist에서 해당 권한을 지웠으니 괜찮을 것으로 예상하면서 심사에 제출하였으나, 어림도 없지! 바로 Reject당해버렸다.

좀 더 구글링해보니 해당 버그는 Apple Developer Forum에도 등록된 악명 높은 버그였다.

해당 페이지

앱 심사위원(?)이 직접 남긴 댓글과 그에 대한 답글을 보자.


새로운 버전을 만들고 앱이 수집하는 개인정보를 수정하라고 하는데, 이게 사실상 불가능한 것이 리뷰 팀은 App Store Connect의 개인정보 설정을 기준으로 심사를 해서 Info.plist에 해당 키가 없다고 심사를 거부하며, App Store Connect 페이지에서는 Info.plist를 변경을 해도 개인정보 설정이 바뀌지 않기 때문이다.


분노가 느껴진다..분노가 느껴진다..

유일한 해결 방법은 리뷰팀에게 남기는 메모를 통해 개인정보 설정을 변경했다고 어필을 하는 것이라고 한다. 실제로 그렇게 해서 겨우 통과했다는 후기들이 있었다. 나 또한 그렇게 어필을 하려고 시도해보았으나..


내가 공들여서 설명을 해줬음에도 불구하고 메모를 전혀 읽지 않은 것 처럼 이전과 정확히 똑같은 리젝 사유만이 돌아올 뿐이었다. 자다 깨서 리젝 사유를 확인하고 역대급으로 애플에 분노한 나는 그만 이런 메모를 보내버리고 말았다.


결국 나는 다시 앱 추적 권한 요청을 띄우기로 해보고, 며칠간의 디버깅 끝에 결국 성공하고 심사에서 통과할 수 있었다. 혹시나 같은 에러를 겪고 있는 개발자를 위해 이렇게 글을 남겨놓는다.