iOS 27.2 ATT 유럽 안내는 먼저 앱에 추적 권한 요청이 실제로 필요한지 판단한 뒤, 배포 지역과 사용자 상태에 맞춰 검수해야 합니다. 유럽 대체 안내가 추가됐다는 이유만으로 기존 추적 판단이나 권한 요청 로직을 바꾸지는 마세요.
이 글은 유럽에서 앱을 배포하며 광고 측정이나 앱 간 추적을 검토하는 독립 개발자와 작은 팀을 위한 안내입니다.
여러 지역 버전을 운영하거나 권한 문구와 테스트 환경을 관리하는 담당자도 출시 전 점검에 활용할 수 있습니다.
일정: 2026년 10월 1일 기준, Apple이 공개한 iOS 및 iPadOS 27.2 베타 자료를 토대로 정리했습니다.
이번 주 권장 작업: 앱 데이터 흐름으로 ATT 적용 여부를 판별하고, 지역별 표시 조건과 사용자 상태를 나눈 테스트 기록을 준비하세요. 베타 동작과 지역 규칙은 Apple의 iOS 및 iPadOS 27.2 베타 안내 및 최신 개인 정보 문서에서 다시 확인해야 합니다.
먼저 확인할 핵심: 앱에 ATT가 적용되는가
유럽에서 배포한다는 사실만으로 모든 앱이 ATT 권한을 요청해야 하는 것은 아닙니다. Apple은 추적을 다른 회사의 앱이나 웹사이트에서 수집한 사용자 또는 기기 데이터를 연결해 광고 타기팅이나 광고 측정 등에 사용하는 경우와 연관 지어 설명합니다. 따라서 마케팅 문구가 아니라 실제 SDK, 이벤트 전송, 식별자 처리와 데이터 수신처를 점검해야 합니다. Apple의 사용자 개인 정보 및 데이터 사용 안내와 AppTrackingTransparency 프레임워크 문서를 기준으로 앱의 동작을 대조하세요.
검토할 때는 다음 항목을 나눠 적습니다.
- 다른 회사의 앱이나 웹사이트에서도 사용되는 데이터를 수집하거나 연결하는지
- 그 데이터가 광고 타기팅 또는 광고 측정 등 추적에 쓰이는지
- 추적이 필요한 기능과 권한 요청을 발생시키는 코드 경로가 실제로 연결돼 있는지
앱이 추적하지 않는다면, 유럽 대체 안내를 보여 주기 위해 ATT 요청을 새로 넣을 이유는 없습니다. 추적이 필요한 앱이라면 대체 화면과 기존 권한 요청 절차를 별개로 확인해야 합니다.
배포 담당자에게 필요한 지역별 판정
Apple 자료는 유럽 범위의 대체 안내가 선택 사항인 경우와, 일부 국가에서 대체 버전만 제공되는 경우를 구분합니다. Apple의 안내에서 대체 버전만 제공되는 국가로 제시된 곳은 프랑스, 독일, 이탈리아, 폴란드, 루마니아입니다. 국가 조건은 Apple의 사용자 개인 정보 안내에서 최신 상태를 확인하세요.
| 검수 조건 | 화면 판단 | 배포 담당자가 확인할 항목 |
|---|---|---|
| 대체 안내가 선택 사항인 유럽 지역 | 대체 화면 적용 여부를 설정과 실제 화면으로 확인합니다. | 기본 안내와 대체 안내의 문구 및 동작을 구분해 기록합니다. |
| 프랑스, 독일, 이탈리아, 폴란드, 루마니아 | Apple 문서상 적용 대상 앱에는 대체 버전만 제공되는 규칙이 안내돼 있습니다. | 해당 지역용으로 제공되는 전체 페이지와 표시 내용을 확인합니다. |
| 유럽 밖 또는 조건이 확인되지 않은 테스트 환경 | 유럽 사용자용 화면이 표시된다고 미리 가정하지 않습니다. | 앱의 배포 범위와 테스트 조건을 따로 기록합니다. |
국가 조건, 계정 지역, 기기의 현재 위치, 앱의 배포 범위는 서로 같은 기준이 아닙니다. 테스트 기기에서 특정 화면이 보이지 않았다고 해서 해당 지역의 배포 조건을 충족하지 못했다고 단정하지 마세요. 반대로 위치 설정만 바꿔 본 결과를 실제 사용자 자격의 증거로 삼아서도 안 됩니다.
주의: 지역 자격을 판단하는 기준은 원격 Mac의 데이터 센터 위치가 아닙니다. 원격 Mac은 개발과 빌드 환경으로 사용할 수 있지만, 사용자의 실제 지역 조건이나 Apple 시스템의 표시 결정을 대신하지 않습니다.
요청 로직을 관리하는 개발자의 검수 순서
ATT의 유럽 대체 안내는 추적에 대한 시스템 권한 요청을 대체해 앱의 데이터 흐름을 다시 정의하는 기능이 아닙니다. 기존 요청 코드가 있다면 요청을 호출하는 조건, NSUserTrackingUsageDescription 설정, 결과 상태에 따른 기능 처리를 각각 확인하세요. 이 키의 용도와 설정 방식은 Apple의 NSUserTrackingUsageDescription 문서를 참고할 수 있습니다.
아래 코드는 현재 권한 상태를 읽어 검수 기록에 남기는 기본 예시입니다. 요청 호출 시점과 완료 처리 방식은 ATT 권한 요청 API 문서에서 확인해야 합니다.
import AppTrackingTransparency
let status = ATTrackingManager.trackingAuthorizationStatus
print("ATT authorization status: \(status)")
기록에는 상태 이름을 그대로 남길 수 있습니다.
ATT authorization status: notDetermined
ATT authorization status: denied
ATT authorization status: authorized
ATT authorization status: restricted
상태는 Apple의 ATT 권한 상태 문서에 정의돼 있습니다. 화면이 나타나지 않는 현상만 기록하지 말고, 현재 권한 상태와 요청 완료 처리도 함께 확인하세요. 설명을 덧붙여야 한다면 NSUserTrackingMarkdownUsageDescription을 선택적으로 검토하되, 필수 권한 키나 별도의 추적 사유라고 해석하지 않습니다. 지원되는 문구 형식과 표시 방식은 Apple 문서로 확인하고, 실제 데이터 이용 목적에 맞게 지역별 문안을 검토해야 합니다.
사용자 상태별로 회귀 테스트하기
테스트 담당자는 아직 선택하지 않은 상태, 동의, 거절, 제한 상태를 서로 다른 사례로 다뤄야 합니다. 이미 결정된 권한 상태에서 시스템 화면이 다시 뜨지 않는 것과 앱이 요청 자체를 호출하지 않은 것은 다른 원인입니다. 각 사례에서 화면 표시, 완료 처리, 저장되는 권한 상태를 따로 확인하세요.
- 아직 선택하지 않은 상태: 앱이 적절한 흐름에서 요청을 시작하는지 확인합니다.
- 동의 또는 거절 상태: 상태에 맞춰 앱이 동작하고, 이미 결정된 상태를 미결정으로 잘못 기록하지 않는지 봅니다.
- 제한 상태 또는 요청을 막는 설정: 화면이 보이지 않을 때 제한 원인과 상태 기록을 구분합니다.
- 재요청 조건을 확인하는 사례: 베타 문서의 유럽 사용자 대상 연간 재요청 안내를 최신 자료와 실제 테스트 결과에 대조합니다.
Apple은 iOS 및 iPadOS 27.2 베타 안내에서 유럽 사용자에게 적용되는 연간 재요청 기능을 설명합니다. 이것을 모든 거절 상태에 대한 임의 재요청 허용으로 넓혀 해석하지 마세요. 상태를 초기화하는 방법은 테스트 기기와 운영체제 조건에 따라 확인해야 하며, 시뮬레이터에서 초기화한 결과만으로 실제 사용자 계정이나 기기의 상태를 재현했다고 간주할 수 없습니다.
설명 문구와 현지화 담당자의 확인 항목
보충 설명은 권한 요청의 이유를 과장하는 대신, 추적이 쓰이는 실제 목적을 이해할 수 있도록 작성해야 합니다. NSUserTrackingMarkdownUsageDescription을 사용할지는 앱이 보충 설명을 제공할 필요가 있는지에 따라 판단합니다. 지원 형식과 표시 동작은 Apple의 최신 자료에서 확인하고, 번역문에서도 Markdown이 의도한 대로 표현되는지 점검하세요.
문안 검수에서는 다음을 확인합니다.
- 데이터 사용 목적을 실제 처리 내용과 일치시킵니다.
- 동의해야 기본 기능을 이용할 수 있다고 오해하게 만들지 않습니다.
- 번역된 문안의 강조와 링크 표현이 원문 의도와 일치하는지 확인합니다.
- 대체 안내의 전체 화면과 별도의 앱 자체 사전 안내를 구분해 테스트합니다.
앱 자체 사전 안내는 시스템 권한 화면과 같은 것이 아닙니다. 이를 시스템이 제공하는 대체 화면으로 설명하거나, 시스템 안내와 같은 권한 효과가 있다고 표현하지 마세요.
빌드와 테스트 환경을 관리하는 팀의 출시 점검
Xcode 테스트 환경 담당자는 사용한 Xcode 빌드와 테스트 기기의 운영체제 버전을 기록해야 합니다. Xcode 27.2가 포함된 빌드와 변경 사항은 Apple의 Xcode 27.2 베타 안내에서 확인하세요. 베타 버전의 결과를 정식 버전의 동작으로 일반화하지 말고, 출시 직전에는 실제 사용할 빌드와 테스트 기기에서 다시 확인합니다.
검수를 재현하려면 다음 순서로 기록합니다.
- 앱이 실제로 ATT 추적 권한을 요청해야 하는지 데이터 흐름으로 판정합니다.
- 배포 국가와 테스트 환경에서 기대하는 화면을 따로 정리합니다.
- 테스트 기기의 운영체제와 Xcode 빌드 정보를 기록합니다.
- 미결정, 동의, 거절, 제한 상태별로 화면과 콜백 결과를 확인합니다.
- 문안 버전, 앱 빌드, 테스트 환경, 확인한 Apple 문서의 날짜를 한 기록에 남깁니다.
- 베타 또는 공식 문서가 갱신되면 영향받는 조건부터 다시 검수합니다.
원격 Mac은 Xcode를 실행하고 빌드를 재현하는 데 사용할 수 있는 환경입니다. 그러나 원격 Mac을 이용한다고 지역별 표시 자격이나 실제 사용자의 ATT 상태를 그대로 만들 수 있는 것은 아닙니다. 필요한 macOS와 Xcode 조건을 먼저 따져야 한다면 원격 Mac 이용 및 대여 안내에서 환경 범위를 확인하고, 별도로 실제 테스트 조건을 마련하세요.
자주 묻는 내용
iOS 27.2 베타의 유럽 ATT 대체 안내가 정식 버전에도 그대로 유지되나요?
베타 자료에서 확인한 화면과 재요청 동작은 검수 기준으로 기록하되, 정식 버전에서도 동일하게 유지된다고 미리 결론 내리지 않습니다. Apple의 최신 릴리스 안내와 개인 정보 자료에서 국가 조건, 화면, 요청 동작이 바뀌었는지 확인하세요. 검수 기록에는 테스트한 운영체제 빌드도 포함해야 합니다.
특정 국가에서 대체 화면을 확인하지 못하면 앱 배포를 멈춰야 하나요?
화면이 보이지 않는 이유가 배포 조건, 사용자 권한 상태, 테스트 설정 중 무엇인지 먼저 분리해야 합니다. 기기의 위치나 계정 지역만 바꾼 테스트로 국가별 자격을 판정하지 마세요. Apple이 제시한 적용 국가와 실제 화면, 앱의 배포 범위를 함께 대조하고 확인되지 않은 사항은 출시 검토 항목으로 남기세요.
보충 설명 키를 넣지 않으면 ATT 요청이 잘못된 것으로 보나요?
보충 설명 키를 모든 앱의 의무 항목으로 취급하지 않습니다. 앱이 추가 설명을 제공할 필요가 있는지 판단하고, 키의 지원 여부와 표시 형식은 Apple 문서에서 확인하세요. 이 설명은 실제 추적 목적을 보완하는 문안이며, 추적이 필요한 이유를 새로 만들거나 기본 기능 제공 조건을 바꾸는 수단이 아닙니다.
거절 상태에서 연간 재요청 기능을 테스트할 때 무엇을 남겨야 하나요?
요청이 다시 표시됐는지만 보지 말고, 운영체제 빌드, 이전 권한 상태, 요청 완료 결과, 화면 내용을 함께 기록하세요. 베타에서 확인한 연간 재요청 안내는 적용 조건을 Apple의 최신 자료와 대조해야 합니다. 테스트 기기의 상태 초기화 결과와 실제 사용자 계정의 상태는 같다고 단정하지 마세요.
현재 장비가 Windows나 Linux뿐이라면 Xcode 실행과 iOS 빌드 검증에 필요한 macOS 환경이 부족할 수 있습니다. 이미 보유한 Mac을 계속 사용하는 방법은 추가 대여 비용을 피할 수 있지만, 저장 공간이 부족하거나 테스트용 장비를 상시 켜 두기 어렵다면 운영 부담이 생깁니다. 반대로 원격 Mac 대여는 별도 장비 구매 없이 독립된 macOS 테스트 환경이 필요한 기간에 검토할 수 있지만, 실제 지역 자격과 사용자 권한 상태까지 대신 재현하지는 않습니다. Xcode 빌드와 테스트를 위한 임시 환경이 필요한 경우 NodeMini의 원격 Mac 안내에서 필요한 시스템 조건과 접속 방식을 먼저 확인한 뒤 이용 여부를 판단하세요.