iOS 27.2 유럽연합 ATT 검수는 안내창, 적용 국가, 권한 처리를 따로 확인해야 합니다. 추적 권한 요구는 바뀌지 않았으므로, 이번 주에는 대상 국가와 사용자 선택 흐름을 먼저 고정하고 재현 가능한 증거가 모일 때까지 단일 팝업 캡처만으로 출시를 승인하지 마세요.

이 글은 ATT 구현을 맡은 iOS 엔지니어, 유럽연합 배포 범위를 정하는 제품·준법 담당자, 사용자 흐름을 검증하는 QA, Xcode와 macOS CI를 관리하는 엔지니어를 위한 검수 기준입니다.

마지막 확인: 2026년 11월 1일. Apple의 유럽연합 ATT 안내, 개인정보 및 데이터 사용 설명, 시스템 공개 자료와 Xcode 시스템 요구 사항을 대조했습니다. 확인한 iOS 27.2 자료는 Beta 상태였으며, 정식 출시로 간주하지 않았습니다. Apple 시스템 공개 자료

출시 판단과 버전 상태

Apple은 iOS 27.2와 iPadOS 27.2에서 유럽연합 ATT 대체 시스템 안내창을 제공한다고 설명합니다. 이 변경을 새로운 추적 권한 면제나 앱 자체 동의 절차의 대체로 해석해서는 안 됩니다. ATT 승인을 받아야 하는 앱의 동작은 권한 상태와 사용자의 선택을 기준으로 검수해야 합니다. Apple의 유럽연합 개인정보 및 ATT 안내

검수 기록에는 다음 세 가지를 분리해 적으세요.

  • 공식 규칙: Apple이 안내한 대체 안내창의 적용 지역과 추적 권한 요구입니다.
  • 시스템 상태: 시험한 OS 버전이 Beta인지 정식 버전인지, 실제 시험 날짜와 기기 또는 시뮬레이터 환경입니다.
  • 팀의 출시 판단: 확인된 증거를 바탕으로 승인, 제한적 시험, 보류 중 무엇을 선택했는지입니다.

확인 당시 Xcode 27.2는 2026년 10월 29일 공개 기록에 나타났지만, 이는 iOS 27.2 정식 출시를 뜻하지 않습니다. 시험 환경에 맞는 macOS 요구 사항은 Apple의 Xcode 시스템 요구 사항에서 다시 확인하세요. 정식 OS 상태와 개발 도구 버전은 서로 다른 항목으로 기록해야 합니다.

제품·준법 담당자의 지역 범위

대체 안내창 적용 범위는 유럽연합 전체에 일괄 적용된다고 가정하지 말고, 실제 앱 배포 국가와 Apple의 안내를 대조해 판단하세요. Apple이 특정 국가의 앱에는 대체 안내창을 제공해야 한다고 명시한 범위는 아래와 같습니다. 국가별 안내와 적용 조건

배포 대상 검수 기준 출시 기록에 남길 내용
프랑스, 독일, 이탈리아, 폴란드, 루마니아 대체 안내창 제공 요건을 적용합니다. 각 국가의 배포 여부와 시험한 안내창 경로를 기록합니다.
그 밖의 유럽연합 지역 동일한 요건이 전 지역에 의무라고 확대하지 않습니다. Apple의 최신 설명과 해당 앱의 배포 범위를 다시 대조합니다.
유럽연합 밖의 대상 지역 이 변경을 근거로 유럽연합 규칙을 그대로 적용하지 않습니다. 별도로 적용되는 앱 동의 및 추적 권한 흐름을 확인합니다.

지역 시험이 어렵다면 어떤 설정을 바꾸어 시험했는지, 실제 배포 지역과 일치하는지를 함께 기록하세요. 국가 목록은 기술 검수의 범위를 정하는 근거이지 법률 자문이 아닙니다. 배포 방식이나 적용 해석이 불분명한 경우에는 준법 담당자가 최신 Apple 안내와 관련 검토 절차를 확인해야 합니다.

iOS 엔지니어의 권한 흐름 점검

App Tracking Transparency 구현에서는 안내창의 모양보다 호출 조건과 권한 상태에 따른 후속 처리가 중요합니다. NSUserTrackingUsageDescription에는 추적 권한 요청의 목적을 설명하는 문구가 필요하며, 실제 문구가 앱의 데이터 사용 설명과 모순되지 않는지 확인하세요. 용도 설명 항목의 Apple 문서

ATT 요청 호출 지점과 사용자 선택 이후의 처리를 다음처럼 점검합니다.

  • 앱이 추적 권한 요청을 호출하는 조건과 호출 시점을 기록합니다. 화면 진입만으로 필요하지 않은 요청이 발생하는지 확인합니다.
  • authorizationStatus를 읽어 미결정 상태와 사용자가 이미 선택한 상태를 구분합니다. 권한 상태 확인 문서
  • requestTrackingAuthorization 호출 결과를 저장하고, 허용과 거부에 따른 앱 동작이 구분되는지 확인합니다. ATT 권한 요청 호출 문서
  • ATT 권한과 앱 자체 개인정보 동의, 마케팅 선택, 기능별 데이터 동의를 별도 상태로 다룹니다. 한 선택을 다른 선택의 증거로 사용하지 않습니다.
  • 사용자가 거부한 뒤에도 추적에 해당하는 처리가 계속되는지 코드와 로그에서 확인합니다.

연간 재요청을 전제로 구현하거나 안내하지 마세요. 확인한 Apple 자료에서 재요청 주기와 조건이 분명하지 않다면 미확정 항목으로 남기고, 현재 상태를 확인하는 구현과 재현 가능한 시험 결과를 기준으로 출시 판단을 보류하거나 제한하세요.

QA의 안내창·추가 정보 검증

안내창이 화면에 나타났다는 사실만으로 검수가 끝나지 않습니다. QA는 시작 조건, 표시된 설명, 버튼 선택, 선택 뒤 앱 동작을 하나의 시험 사례로 연결해야 합니다. 특히 Additional Information으로 연결되는 화면이 앱이 의도한 추가 설명이나 세부 선택 절차와 일치하는지 확인하세요.

시험 항목 재현할 결과 남길 증거
요청 전 상태 안내창이 예상한 조건에서 표시되는지 확인합니다. 앱 빌드, OS 상태, 시작 단계와 화면 기록
허용 선택 권한 상태와 허용 이후의 앱 동작이 맞는지 확인합니다. 선택 결과, 상태 확인 기록, 관련 로그
거부 선택 거부 뒤 추적 처리와 관련 화면이 예상대로 제한되는지 확인합니다. 권한 상태, 후속 동작, 실패 또는 경고 로그
미결정 상태 요청 전 상태와 재실행 뒤 상태를 구분합니다. 시험 순서, 호출 기록, 상태값
Additional Information 앱이 설계한 설명 또는 세부 선택 화면으로 이동하는지 확인합니다. 이동 경로, 화면 내용, 선택 뒤 동작
시스템 설정 제한 설정에서 권한 상태를 바꾼 뒤 앱이 그 결과를 반영하는지 확인합니다. 변경 전후 상태, 앱 재실행 여부, 로그

표의 각 결과는 실제 시험 대상으로 확인한 경우에만 통과로 기록하세요. 화면 캡처는 문구와 표시 경로를 보여줄 수 있지만, ATT 상태나 이후 데이터 처리를 단독으로 증명하지는 않습니다. 이를 확인하려면 상태 확인 결과와 앱의 처리 기록을 함께 보존해야 합니다.

CI 담당자의 재현 가능한 기록

시뮬레이터는 앱의 안내 문구와 특정 코드 경로를 반복 검증하는 데 유용하지만, 한 번 표시된 팝업만으로 국가별 적용이나 실제 배포 환경을 증명하지는 못합니다. 시험이 증명하는 범위와 증명하지 않는 범위를 로그에 함께 남기세요.

각 CI 시험 기록에 다음 항목을 포함합니다.

  • 커밋 또는 빌드 식별 정보와 실행한 시험 단계
  • 실제 사용한 Xcode 버전, macOS 버전, 시험 대상의 종류
  • 안내창 표시 조건, 선택 결과, 상태 확인 결과
  • Additional Information을 거친 경로와 관련 실패 로그
  • 재현에 필요한 앱 설정 및 시스템 설정
  • 지역 동작을 확인했는지, 확인하지 못했다면 무엇이 미검증으로 남았는지

실행 환경을 바꾼 뒤에는 도구 체인과 시험 대상을 다시 확인해야 합니다. Xcode 시스템 요구 사항은 Apple의 요구 사항 목록과 대조하고, 사용하려는 Xcode와 OS 조합이 확인되지 않으면 해당 CI 결과를 다른 환경의 증거처럼 확대하지 마세요.

역할별 출시 결정 조건

다음 조건 분기로 시험 운영, 출시 승인, 보류를 결정하세요. 해당 조건을 충족하지 못하면 그보다 안전한 단계로 되돌아갑니다.

  • 지역 적용을 확인했고, 적합한 안내창과 배포 범위가 서로 맞으면 해당 지역 시험을 진행합니다. 지역 적용을 확인하지 못했다면 전 지역에 같은 동작을 적용하지 말고 Apple 자료를 재검토합니다.
  • 권한 호출과 허용·거부 처리가 기록됐고, 앱 자체 동의와 상태가 분리됐다면 구현 검수를 통과시킵니다. 둘이 한 흐름으로 섞였다면 코드와 시험 사례를 수정한 뒤 다시 검수합니다.
  • QA가 안내창, Additional Information, 상태 변경을 재현했고, 로그까지 남겼다면 회귀 검토로 넘깁니다. 스크린샷만 있으면 미검증으로 분류합니다.
  • CI 환경과 시험 대상이 명시되고, 필요한 도구 체인과 OS 상태가 확인되면 해당 실행 결과를 승인 근거로 사용합니다. 재현 환경을 확인할 수 없으면 통과로 간주하지 않습니다.
  • 공식 시스템 상태와 Apple 기술 안내를 출시 직전에 다시 확인했다면 팀 절차에 따라 승인합니다. Beta와 정식 버전을 혼동했거나 적용 조건이 바뀌었다면 출시를 보류하고 시험 범위를 갱신합니다.

자주 묻는 검수 항목

유럽연합 대체 안내창을 적용할 국가

Apple이 대체 안내창 제공을 요구한다고 명시한 국가는 프랑스, 독일, 이탈리아, 폴란드, 루마니아입니다. 그 외 유럽연합 지역까지 동일한 의무라고 단정하지 마세요. 실제 배포 국가를 기준으로 최신 Apple 안내와 앱 설정을 대조하고, 국가별로 확인하지 못한 동작은 미검증으로 기록해야 합니다.

대체 안내창과 추적 권한 요구

대체 안내창은 시스템 안내 방식의 변경이며 추적 권한 요구를 없애지 않습니다. 앱은 ATT 요청 결과와 사용자의 선택을 계속 반영해야 합니다. 앱 자체 개인정보 동의나 별도 기능 선택도 각각 검증하세요. 한 화면에서 사용자가 선택했다는 이유만으로 다른 동의까지 확보했다고 처리하면 안 됩니다.

QA의 추가 정보 경로와 증거

QA는 안내창의 표시 조건과 선택 결과뿐 아니라 Additional Information의 목적지도 확인해야 합니다. 앱에서 의도한 보충 설명이나 세부 선택 흐름으로 이동하는지, 이후 선택이 앱 동작에 반영되는지 기록하세요. 화면 캡처는 표시 내용을 증명하는 자료로 쓰고, 권한 상태와 후속 처리는 로그나 상태 확인 기록으로 보완합니다.

연간 권한 재요청 판단

연간 재요청을 허용하는 구체적인 조건이 확인된 것처럼 구현하지 마세요. 현재 자료에서 그 주기와 조건을 확정할 수 없다면 Apple 문서를 다시 확인하고, 앱은 우선 권한 상태와 실제 요청 결과를 기록해야 합니다. 이 점이 출시 요건에 영향을 준다면 미확정 항목으로 남겨 담당자가 확인할 때까지 판단을 보류하세요.

Linux CI나 개발자 개인 장비에만 의존하면 macOS 전용 도구 체인을 맞추기 어렵고, 개인 장비는 상시 재현 환경으로 관리하기도 쉽지 않습니다. 반대로 맥 미니를 직접 마련하면 시험 기간이 짧거나 팀의 환경이 자주 바뀔 때 초기 구매와 장비 관리가 부담이 될 수 있습니다. 실제 Mac이 필요한 시험을 일정 기간 반복해야 한다면 VMSPIN의 원격 Mac 환경에서 필요한 Xcode와 시험 대상을 먼저 확인하고, 요금 안내를 검토한 뒤 대여 여부를 결정하세요. 장기 고정 부하나 물리 기기 연결이 필수라면 직접 보유 환경이 더 적합할 수 있습니다.