[React Native] 앱 추적 권한 요청하기 + App Store Connect 추적 권한 제거 버그
- React Native 앱 내에서 앱 추적 권한 요청하기
- 앱 추적 투명성(App Tracking Transparency) 제거 시도시 App Store Connect에 반영이 되지 않는 버그
React Native 앱 내에서 앱 추적 권한 요청하기
앱에서 추적 허용 권한을 얻으러면, ios/Appname/Info.plist
파일 내에 아래의 코드를 넣어야 한다.
1 | <key>NSUserTrackingUsageDescription</key> |
이후 빌드된 파일을 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
를 변경을 해도 개인정보 설정이 바뀌지 않기 때문이다.

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

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

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