本周按“地区适用范围、提示交互、授权状态”三条线验收 iOS 27.2 欧盟 ATT:追踪授权要求没有改变,法国、德国、意大利、波兰和罗马尼亚分发的应用只能使用替代系统提示。适用条件是你的应用面向欧盟分发;不要只凭模拟器截图或一次弹窗就判定通过。
谁该看:负责 ATT 实现的 iOS 工程师,需要确认调用时机和拒绝后的数据处理。
负责欧盟版本验收的 QA,需要覆盖地区、提示展示和用户选择。
维护 Xcode 与 macOS CI 的工程师,需要保存可复现的工具链与测试证据。
iOS 27.2 欧盟 ATT 验收:先核版本与适用范围
Apple 发布记录显示,iOS 27.2 与 iPadOS 27.2 已于 2026 年 10 月 26 日发布,Xcode 27.2 已于 2026 年 10 月 29 日发布。Xcode 27.2 支持 iOS 27.2 SDK,要求 macOS Tahoe 26.6 或更新版本;测试记录应保留实际系统版本和构建号,不要把 Beta 阶段的记录直接当作正式版验收结果。(Apple 系统发布记录,Xcode 系统要求)
| 验收对象 | 官方基线 | 对验收的影响 |
|---|---|---|
| iOS 与 iPadOS | 27.2 正式版本已列入 Apple 发布记录 | 记录测试设备实际系统版本与构建号 |
| Xcode | Xcode 27.2 支持 iOS 27.2 SDK | 在 CI 日志中保存 Xcode 版本 |
| macOS | Xcode 27.2 要求 macOS Tahoe 26.6 或更新版本 | 先确认宿主系统兼容,再安排构建和测试 |
国家分发范围:五国使用替代提示,其余地区另行判断
Apple 明确指出,在德国、法国、意大利、波兰和罗马尼亚分发的应用只能使用替代 ATT 系统提示;欧盟其他地区的开发者可以选择替代提示。这里的判断依据是应用的分发范围,不应把某个测试设备所在位置直接当成分发规则,也不能把五国要求推广成整个欧盟统一强制要求。(Apple 欧盟 ATT 说明)
发布负责人应将分发国家清单与提示配置对应起来,并在上线前回查 Apple 当前说明。该检查用于确认产品规则,不是法律意见;具体数据处理是否满足适用法律,需要由团队合规人员另行判断。
iOS 工程:界面变化不等于授权豁免
App Tracking Transparency(ATT)的替代提示改变了欧盟地区的系统提示样式和补充信息入口,不会免除追踪授权要求。Apple 说明,应用仍须在用户授权后才能按 ATT 所述进行跨公司应用或网站追踪,或访问广告标识符。(Apple 隐私与数据使用说明)
核对实现时,把 ATT 状态与应用自己的其他隐私同意流程分开验证:
- 调用前:检查
NSUserTrackingUsageDescription是否存在,且内容能说明数据用途。不要用“改善体验”等泛化表述掩盖实际追踪目的。(用途说明字段文档) - 调用时:检查应用是否在预期路径调用
requestTrackingAuthorization,并记录触发条件。提示没有出现时,不要只凭界面推断调用正确;还要核对系统设置和当前授权状态。(ATT 授权调用文档) - 回调后:分别检查
authorized、denied、notDetermined和restricted分支。将返回状态与广告标识符访问、第三方 SDK 行为及网络上报核对,确认拒绝或尚未决定时不会继续执行依赖追踪授权的处理。(ATT 授权状态文档)
年度重新请求:核对时间间隔与系统设置
对于欧盟用户,应用可在用户上次于 ATT 系统提示中作出选择满 1 年后再次请求,无论上次选择是允许还是拒绝。若用户在设备设置中关闭了允许应用请求跟踪的选项,系统不会再次提示;年度重新请求并不代表应用可以绕过系统设置或自行认定用户已授权。(Apple 隐私与数据使用说明)
测试计划应区分上次选择未满一年、已满一年且系统设置允许请求、系统设置禁止请求三类条件。逐项保存调用记录、系统回调状态和追踪分支结果,避免把“弹窗出现”单独当成年度条件已通过的证据。
QA:把提示、补充信息与授权结果串成证据链
QA 需要验证提示是否在预期条件下出现、用途说明是否清楚,以及 Additional Information 入口是否进入应用设计的补充说明或更细粒度选择流程。用户从补充信息页面返回后,ATT 授权状态仍应以系统授权结果为准;其他同意流程不能覆盖用户在 ATT 提示中的选择。(Apple 隐私与数据使用说明)
按结果分别留证:
- 允许:记录系统回调状态,并检查授权后的追踪相关处理是否符合预期。
- 拒绝:确认广告标识符访问和依赖 ATT 授权的追踪数据处理已停止。
- 未决定:确认应用没有将未选择状态视为授权,也没有把其他同意状态映射成 ATT 许可。
- 受限或系统设置关闭:记录提示未出现的条件、返回状态及应用采取的安全处理。
- Additional Information:记录入口、页面内容和返回路径,并重新核对系统授权状态及后续数据处理。
截图可以说明界面显示情况,却不能独立证明用户授权状态、分发地区判断或后端数据处理结果。应将界面记录与回调日志、状态分支和团队可审计的数据处理证据关联;如果目标地区行为无法在现有测试条件下复现,就明确标为未验证,不要用一次成功弹窗替代结论。
CI 与发布负责人:留存可复现记录再作放行决定
远程或本地 macOS CI 节点都应记录提交版本、Xcode 版本、macOS 版本、iOS 测试环境、运行步骤、提示结果和失败日志。模拟器可以帮助验证应用流程和状态分支,但模拟器截图本身不能证明真实分发国家下的系统行为、目标设备设置状态或全部数据处理路径。
使用远程 Mac 前,先确认实际可用的 Xcode 与 macOS 版本、测试目标和连接权限。不要预设远程环境具备特定地区模拟、真机或账户能力;若关键条件不具备,应在验收报告中注明缺口。团队若需要补充 Apple 工具链执行环境,可先查看 VMSPIN 的远程 Mac 环境,并按实际工具与测试目标判断是否适用。
决策条件:放行、试点或暂缓
- 若分发范围已核实,且包含必须采用替代提示的国家,则按替代提示路径完成测试;否则依据目标地区确定提示方案。
- 若授权回调、拒绝后的处理、系统设置限制和 Additional Information 返回流程都有可复核证据,则提交团队发布审批;否则补齐测试,不以截图代替状态验证。
- 若 CI 能复现目标 Xcode、macOS 与 iOS 测试环境,并保存版本和日志,则可将其纳入回归证据;若目标地区或设备条件无法验证,则明确记录未覆盖项。
- 若测试基于旧 Beta 构建,而发布目标为正式版,则重跑关键路径;旧结果只保留为历史记录。
| 角色 | 必查内容 | 应留存的证据 |
|---|---|---|
| 发布负责人 | 系统版本、分发范围、替代提示要求 | Apple 文档核对记录、地区清单、发布决议 |
| iOS 工程师 | 调用时机、用途说明、授权状态与追踪分支 | 代码版本、状态处理说明、允许与拒绝路径记录 |
| QA | 提示呈现、补充信息入口、未决定与受限状态 | 测试步骤、界面记录、状态结果及失败项 |
| CI 工程师 | Xcode、macOS、iOS 测试环境与日志 | 工具链版本、运行目标、作业日志、未覆盖条件 |
| 分发与测试条件 | 验收路径 | 结论边界 |
|---|---|---|
| 在法国、德国、意大利、波兰或罗马尼亚分发 | 核对替代提示、文案和补充信息入口 | 不能推断其他欧盟地区也一律强制采用 |
| 在欧盟其他地区分发 | 记录选用的提示方案并完成相应测试 | 不能把替代提示可选误读为追踪授权豁免 |
| 模拟器中提示正常显示 | 检查界面、应用回调和状态处理 | 不能单独证明真实地区分发行为或后端处理 |
| 用户关闭系统追踪请求设置 | 检查无提示时的状态处理 | 不能将未显示提示记录为用户已授权 |
| 发布判断 | 适用条件 | 后续动作 |
|---|---|---|
| 放行候选 | 地区、提示、回调与拒绝后处理均有证据 | 按团队发布流程审批并归档 |
| 限定试点 | 主路径已通过,但地区或设备覆盖尚不完整 | 写明试点范围、监控项和回退条件 |
| 暂缓 | 授权状态与数据处理不一致,或关键测试无法复现 | 修复实现或补齐环境,再重新验收 |
如果当前方案依赖 Linux 节点,便无法直接替代 Xcode 与 iOS Simulator 工具链;若开发机不是 Mac,就需要另行安排 Apple 平台执行环境;临时借用设备也可能难以固定版本并集中保存日志。需要可控的 macOS/Xcode 测试环境时,可查看 VMSPIN 的远程 Mac 方案与计费信息,先核对工具链和测试目标是否适配;若任务长期稳定重载,或必须连接特定实体设备,自购 Mac 或专用设备实验室可能更合适。
最后更新于 2026 年 11 月 1 日;版本、地区和授权规则核实自 Apple 开发者发布记录、Xcode 系统要求及 ATT 官方说明。