Apple 的 iOS/iPadOS 27.2 Beta 發行說明確認,這個 Beta 版本加入 ATT 歐盟替代提示及歐盟使用者年度重新請求能力。本週建議先確認 App 是否真的需要 ATT,再依發行地區、系統版本和使用者狀態測試;不要只因提示介面改變,就修改追蹤邏輯。這些是 Beta 資訊,正式版本行為仍須以 Apple 更新後的文件和實機結果為準。
適合在歐盟發行、使用廣告歸因或跨 App 追蹤的獨立開發者,核對是否適用及授權流程。
多地區版本的維護者,可用地區條件區分替代介面與適用國家的提示要求。
管理 Xcode 或遠端 Mac 測試環境的小團隊,則可據此建立可重現的驗收紀錄。
最後更新於 2026 年 10 月 1 日;核對依據為 Apple 的 27.2 Beta 發行說明、使用者隱私與資料使用說明及 ATT API 文件。Beta 內容可能調整,本文不構成法律合規判斷。
iOS 27.2 ATT 歐盟提示驗收:先判斷是否適用
「在歐盟發行」不代表每個 App 都必須跳出追蹤授權提示。先依 Apple 對追蹤的說明,檢視 App 是否將資料與其他公司持有的資料連結,用於定向廣告或廣告成效衡量等用途;也要檢查實際 SDK、資料傳送目的地和資料用途,不能只看產品頁上的行銷描述。Apple 的隱私與資料使用說明提供追蹤定義與判斷背景。
| 檢查情況 | 驗收判斷 | 下一步 |
|---|---|---|
| 資料只用於 App 內功能,未用於跨公司追蹤 | 不因歐盟替代提示就新增 ATT 請求 | 確認第三方 SDK 的實際資料流 |
| 資料用於跨 App 追蹤或廣告歸因 | 評估是否需要透過 ATT 請求授權 | 測試系統提示、回呼與授權狀態 |
| 用途或 SDK 行為尚未釐清 | 暫不把提示改版當作適用證據 | 向 SDK 文件與資料流程負責人核實 |
AppTrackingTransparency 框架文件說明框架用途;核心判斷仍是 App 的資料處理方式,而不是開發團隊是否選擇顯示某種介面。另須分清系統授權提示、App 自製的預先說明,以及補充說明畫面:三者不是同一種授權機制。
iOS 27.2 的 ATT 歐盟提示有哪些變化?
已確認的 Beta 變化包括歐盟替代提示,以及符合 Apple 規則時的年度重新請求能力;這不等於 ATT 的追蹤定義或所有 App 的授權條件一併改變。驗收時請將「提示外觀與出現條件」和「App 是否涉及追蹤」分成兩項記錄,避免為了配合介面而擴大資料收集或調整既有追蹤用途。
地區版本與發行條件
Apple 的使用者隱私與資料使用說明指出,在適用情況下,法國、德國、義大利、波蘭與羅馬尼亞提供替代提示版本;歐盟其他地區則可能有可選的替代提示。不要把國家規則泛化成「所有歐盟使用者都看到同一介面」。
| 發行與測試情況 | 地區驗收重點 | 判斷界線 |
|---|---|---|
| App 在歐盟發行,測試符合適用條件的上述國家 | 核對是否呈現替代版本及完整說明 | 以 Apple 當前文件和測試結果確認 |
| App 在歐盟其他地區發行 | 核對是否可使用替代提示,以及實際顯示版本 | 不預設所有地區強制顯示同一版本 |
| 測試裝置僅切換帳號地區或所在地設定 | 將此結果記作測試條件,不直接推定發行資格 | 地區顯示資格不可由單一設定推論 |
驗收紀錄要分開寫明 App 的發行地區、測試裝置條件與系統版本。使用者身處某地、帳號所屬地區和 App 的發行範圍不是可互換的判斷條件;遠端測試環境也不能單獨證明真實使用者具備某個地區的提示資格。
授權與補充說明文案
對確實使用 ATT 的 App,先核對現有授權呼叫及 NSUserTrackingUsageDescription。Apple 將此欄位定義為用途說明;設定說明可用來確認它在 App 中的角色。提示介面變更不代表可以省略原有授權說明,也不代表新增一種追蹤理由。
ATT 歐盟替代提示需要添加什麼說明文案?
評估是否提供 NSUserTrackingMarkdownUsageDescription,並依 Apple 當前支援的格式檢查文字及 Markdown 呈現。這是補充說明的評估項目,不應寫成所有 App 都必須新增的欄位,也不能用它取代 NSUserTrackingUsageDescription。文案應如實說明追蹤用途,不暗示授權後才提供原本可用的基礎功能,也不以誘導語句換取同意。
AppTrackingTransparency 的請求 API 用於發起系統授權流程;requestTrackingAuthorization 文件可供核對呼叫與回呼處理。App 自製的預先提示只能作為自己的說明介面,不等同於系統授權提示,不能把使用者按下自製按鈕記錄為已授權。
使用者狀態與回歸測試
| 測試狀態 | 要核對的結果 | 常見誤判 |
|---|---|---|
| 尚未決定 | 是否符合條件並顯示系統提示;回呼是否被記錄 | 沒有顯示就推定已拒絕 |
| 已同意 | App 是否按實際授權狀態更新相關流程 | 把畫面按鈕事件當作授權結果 |
| 已拒絕 | 是否遵守狀態限制,並正確處理後續請求 | 把重新安裝視為必然重置 |
| 裝置限制或已關閉追蹤請求 | 記錄未顯示提示的原因及狀態 | 將「沒看到提示」一概記為拒絕 |
ATT 使用者拒絕後一年內可以再次請求嗎?
不要把年度重新請求能力解讀成拒絕後可隨時再次彈窗。依 Apple 對 iOS/iPadOS 27.2 Beta 的說明,歐盟使用者具有年度重新請求能力;團隊應依當前官方條件核實間隔及適用狀態,並以測試設備上的授權狀態和回呼紀錄為證,不要自行推導未明示的例外。授權狀態文件可用來核對狀態枚舉。
Xcode 驗收與發布前紀錄
遠端 Mac 可以提供執行 Xcode 的 macOS 環境,但不能替代合資格的 iOS 測試設備,也不能單獨模擬真實使用者的地區資格。開始測試前,先依 Xcode 27.2 Beta 發行說明核對工具鏈版本;若正式版或文件尚未更新,紀錄中應明確標示 Beta,不要把 Beta 結果寫成正式版承諾。
以下步驟可建立基本驗收紀錄:
- 確認適用性:列出會接收或使用資料的 SDK、資料種類、用途與接收方;逐項判斷是否涉及跨公司追蹤。
- 檢查說明欄位:在專案資訊清單中核對既有用途文字及補充說明欄位,不以新增欄位取代原有授權用途。
- 固定測試組合:記錄 Xcode 版本、iOS 版本、測試 App 建置版本、裝置條件和預定驗收地區。
- 按狀態執行:分別測試尚未決定、同意、拒絕及裝置限制等情況;每次記下是否顯示、授權狀態與回呼結果。
- 核對地區介面:依 Apple 文件逐一核實替代版本及地區條件,不用帳號切換結果代替發行資格判斷。
- 保存證據並回歸:保存畫面、狀態紀錄、文案版本與發行地區;系統版本、Apple 地區規則或 API 文件更新時重新驗收。
在 macOS 專案中,可先用以下命令檢查建置工具與 Info.plist 內容:
xcodebuild -version
plutil -p /path/to/YourApp/Info.plist | grep -E 'NSUserTrackingUsageDescription|NSUserTrackingMarkdownUsageDescription'
輸出只用來核對本機工具版本及專案欄位,不能證明提示一定會在某地區顯示。若使用建置後產生的 Info.plist,應檢查實際 App 產物,而非只檢查原始專案設定;測試時也要保留授權狀態與回呼紀錄,避免把沒有彈窗誤認為已完成驗收。
需要獨立 macOS 環境執行 Xcode 建置時,可先參考遠端 Mac 環境方案,再按實際測試方式評估是否合用。若團隊正在比較不同遠端節點,可查看香港遠端 Mac 方案,並先核對實際可用的系統版本與測試方式。
若目前以 Windows、Linux 或共用設備處理建置,常見限制是缺少本機 macOS 工具鏈、難以固定測試環境,以及多次回歸時版本紀錄容易分散;但若工作長期穩定且高負載,或必須直接連接特定實體介面,自購 Mac 可能更合適。若只需階段性驗證 Xcode 建置與測試流程,租用 NodeMini 的遠端 Mac 可免去先購置專用硬體;選擇前仍應先確認可用系統版本與測試方式,並由符合條件的測試設備驗證地區提示。