-
[iOS][Privacy Manifest]Required Reason API 경고가 뜰 때 먼저 확인할 항목기타개발지식/풀스택개발 2026. 6. 20. 14:05
IT 실무 리서치
[iOS][Privacy Manifest]Required Reason API 경고가 뜰 때 먼저 확인할 항목
Privacy Manifest 경고가 뜨면 PrivacyInfo.xcprivacy 파일만 추가해서 끝내면 안 된다. 어떤 API category가 경고를 만들었는지 확인하고, 내 코드와 SDK에서 실제 사용 위치를 찾아 Apple reason code와 앱 기능을 맞춰야 한다.
1. 개요
App Store Connect 업로드 직전에 Required Reason API 경고가 오면 당황하기 쉽다. 하지만 이 문제는 문구를 예쁘게 쓰는 일이 아니라 앱과 SDK가 어떤 API를 왜 쓰는지 맞추는 작업이다.
먼저 경고 메일이나 Organizer 로그에서 API category를 찾는다. 그다음 내 코드와 포함된 SDK를 검색하고, Apple 문서의 reason code가 실제 앱 기능과 맞는지 확인해 PrivacyInfo.xcprivacy에 반영한다.
2. 경고에서 API category 찾기
공식 문서에서는 PrivacyInfo.xcprivacy가 앱과 SDK의 privacy 선언을 담는 파일이라는 점을 확인한다. 이후에는 실제 경고 category를 찾는 작업으로 내려간다.
문서만 보고 reason code를 복사하면 앱 기능과 맞지 않을 수 있다. 반드시 경고에 나온 API category와 코드 사용 위치를 연결한다.
경고 화면에서는 긴 문장을 모두 읽기보다 API category와 bundle 이름을 먼저 찾는다. 박스 표시된 줄이 이후 코드 검색의 키워드가 된다.
Bundle이 SDK라면 SDK 업데이트 문서와 포함된 privacy manifest를 같이 확인한다. 내 코드에서 바로 검색되지 않는다고 문제가 없는 것은 아니다.
3. 코드와 SDK 검색
검색 결과에는 실제 앱 경로가 들어갈 수 있다. 공개 문서나 캡처에서는 프로젝트명, 내부 모듈명, 사용자 데이터를 마스킹한다.
아래 실행 결과처럼 검색 결과를 두 줄로 나눠 보면 원인이 내 코드인지 SDK인지 알 수 있다. 이 구분이 되어야 reason code를 잘못 복사하지 않는다.
내 코드라면 기능 설명과 reason code를 직접 맞춘다. SDK라면 SDK가 manifest를 제공하는 버전인지, 최신 버전에서 경고가 해결됐는지 확인한다.
4. PrivacyInfo 작성
PrivacyInfo.xcprivacy에는 경고 category와 reason code를 맞춰 넣는다. 아래 캡처에서 강조된 줄처럼 API category와 reason code는 함께 검토해야 한다.
reason code는 앱 기능을 설명해야 한다. 경고를 없애기 위해 무관한 reason을 넣으면 이후 심사나 정책 검토에서 다시 문제가 될 수 있다.
이 코드는 형식 예시다. 실제 reason code는 Apple 문서와 앱 기능을 대조한 뒤 선택한다.
5. Archive로 다시 확인
파일을 추가했다고 끝내지 않는다. 화살표 순서처럼 Archive나 업로드 단계에서 같은 경고가 다시 나오는지 확인해야 한다.
경고가 남아 있으면 category가 빠졌거나 SDK 쪽 manifest가 아직 해결되지 않았을 수 있다. 이 경우 SDK 버전과 문서를 다시 확인한다.
6. 결론
Required Reason API 경고는 빈 PrivacyInfo.xcprivacy 파일로 처리할 문제가 아니다.
경고 category, 내 코드와 SDK 사용 위치, Apple reason code, Archive 재검증 순서로 확인하면 출시 직전의 불확실성을 줄일 수 있다.
7. 참고 링크
'기타개발지식 > 풀스택개발' 카테고리의 다른 글
[PostgreSQL][Autovacuum]VACUUM FULL 전에 dead tuples와 autovacuum부터 보는 이유 (0) 2026.06.20 [Google Play][Data Safety]데이터 보안 섹션 작성 전에 앱과 SDK에서 확인할 것 (0) 2026.06.20 [Cloudflare Workers][비용]CPU time과 subrequests 제한을 배포 전에 확인하는 법 (0) 2026.06.20 [Docker][보안]Dockerfile ARG와 ENV에 비밀값을 넣으면 안 되는 이유 (0) 2026.06.20 [AWS][비용]EC2를 꺼도 요금이 나오는 항목을 EBS와 Public IPv4 기준으로 확인하기 (0) 2026.06.20