无法找到 uni-app App Tracking Transparency 权限请求 (iOS 26.1 )
无法找到 uni-app App Tracking Transparency 权限请求 (iOS 26.1 )
| 项目信息 | 详情 |
|---|---|
| 产品分类 | uniapp/App |
| PC开发环境 | Mac |
| PC开发环境版本号 | 15.7.2 |
| HBuilderX类型 | 正式 |
| HBuilderX版本号 | 4.85 |
| 手机系统 | iOS |
| 手机系统版本号 | iOS 26 |
| 手机厂商 | 苹果 |
| 手机机型 | iphone17 |
| 页面类型 | vue |
| vue版本 | vue2 |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
示例代码:
"ios" : {
"idfa" : true,
"urltypes" : "",
"urlschemewhitelist" : "",
"dSYMs" : false,
"privacyDescription" : {
"NSUserTrackingUsageDescription" : "请放心,开启权限不会获取您在其他站点的隐私信息,该权限仅用于标识设备、第三方广告、并保障服务安全与提示浏览体验",
"NSPhotoLibraryUsageDescription" : "需要获取您的相册存储权限,用于上传头像、保存图片、上传回收物品照片等服务",
"NSPhotoLibraryAddUsageDescription" : "需要获取您的相册存储权限,用于保存图片等服务",
"NSCameraUsageDescription" : "需要获取您的相机权限,用于上传头像、上传回收物品照片等服务"
},
"privacyRegisterMode" : "manual"
},
操作步骤:
打包安装后不显示跟踪信息弹窗
页面通过以下方法获取idfa
plus.device.getInfo({
//需要勾选IDFA
success: function (e) {
resolve(e.idfa)
},
fail: function (e) {
reject(e)
},
})
预期结果:
有跟踪信息弹窗
实际结果:
无跟踪信息弹窗
bug描述:
iOS 26.1 上审核时,无法找到 App Tracking Transparency 权限请求
导致ios无法审核通过
The app uses the AppTrackingTransparency framework, but we are unable to locate the App Tracking Transparency permission request when reviewed on iOS 26.1.
Next Steps
Explain where we can find the App Tracking Transparency permission request in the app. The request should appear before any data is collected that could be used to track the user.
If App Tracking Transparency is implemented but the permission request is not appearing on devices running the latest operating system, review the available documentation and confirm App Tracking Transparency has been correctly implemented.
If your app does not track users, update your app privacy information in App Store Connect to not declare tracking. You must have the Account Holder or Admin role to update app privacy information.
Resources
Tracking is linking data collected from the app with third-party data for advertising purposes, or sharing the collected data with a data broker. Learn more about tracking.
See Frequently Asked Questions about the requirements for apps that track users.
Review developer documentation for App Tracking Transparency.
更多关于无法找到 uni-app App Tracking Transparency 权限请求 (iOS 26.1 )的实战教程也可以访问 https://www.itying.com/category-93-b0.html
该bug反馈内容基本完整,标题明确描述了iOS 26.1(应为iOS 16.1笔误)审核问题,提供了详细的环境信息(HBuilderX 4.85/Vue2)、配置代码和复现步骤。但存在两个关键缺失:未说明是否在用户同意隐私政策后调用plus.runtime.argeePrivacy()方法;未确认测试设备是否已重置广告标识符(设置→隐私→跟踪→重置广告标识符)。
根据知识库配置NSUserTrackingUsageDescription后真机运行不弹出授权提示框,当manifest.json中设置"privacyRegisterMode": "manual"时,必须主动调用plus.runtime.argeePrivacy()才会触发授权弹窗。用户仅配置了NSUserTrackingUsageDescription但未在代码中触发授权请求,属于典型配置遗漏。
此外需注意:
iOS 14.5+才强制要求ATT弹窗,若测试设备系统版本低于14.5则正常不弹窗
若设备"设置-隐私-跟踪"中选项被禁用(灰色),需切换美区账号或重置广告标识符
HBuilderX 4.81+版本才支持该manual模式,需确认版本兼容性
建议用户:在用户同意隐私政策后调用plus.runtime.argeePrivacy(),并参考App隐私配置指南完善App Store Connect的隐私声明。 内容为 AI 生成,仅供参考
更多关于无法找到 uni-app App Tracking Transparency 权限请求 (iOS 26.1 )的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这个问题有没有解决?
在 iOS 26.1 上无法触发 App Tracking Transparency (ATT) 权限弹窗,通常是由于配置或调用时机问题。根据你的配置和代码,分析如下:
-
配置检查:你的
manifest.json中已正确配置idfa: true和NSUserTrackingUsageDescription隐私描述,基础配置无误。 -
关键问题:ATT 权限请求必须通过原生 API 主动调用,且必须在应用启动后、任何跟踪行为发生前触发。仅配置
idfa: true和plus.device.getInfo不会自动触发弹窗。 -
解决方案:需要在应用启动早期(如
App.vue的onLaunch中)调用以下代码来请求权限:
// 在 App.vue 的 onLaunch 中
onLaunch: function() {
// #ifdef APP-PLUS
if (uni.getSystemInfoSync().platform === 'ios') {
// 引入 iOS 原生模块
const ATTManager = plus.ios.import('ATTrackingManager');
const status = ATTManager.trackingAuthorizationStatus;
// 如果未决定,则请求权限
if (status === 0) { // 0 = ATTrackingManagerAuthorizationStatusNotDetermined
ATTManager.requestTrackingAuthorizationWithCompletionHandler(function(result) {
console.log('ATT授权结果:', result);
// 授权后可安全获取 IDFA
plus.device.getInfo({
success: function(e) {
console.log('IDFA:', e.idfa);
}
});
});
} else {
// 已有权限状态,可直接获取 IDFA
plus.device.getInfo({
success: function(e) {
console.log('IDFA:', e.idfa);
}
});
}
}
// #endif
}

