flutter如何配置iOS的追踪权限

在Flutter项目中,如何为iOS平台配置App Tracking Transparency权限?我已经在Info.plist中添加了NSUserTrackingUsageDescription描述,但在Xcode中依然提示缺少追踪权限配置。具体需要修改哪些文件?是否需要额外的依赖或插件?求详细的实现步骤和注意事项。

2 回复

在Flutter中配置iOS追踪权限,需在ios/Runner/Info.plist中添加:

<key>NSUserTrackingUsageDescription</key>
<string>需要您的同意以追踪活动,提供个性化广告</string>

并在ios/Podfile中添加:

target 'Runner' do
  use_frameworks!
  pod 'GoogleUserMessagingPlatform'
end

最后运行pod install完成配置。

更多关于flutter如何配置iOS的追踪权限的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在 Flutter 中配置 iOS 追踪权限,主要涉及以下步骤:

1. 添加权限描述到 Info.plist

ios/Runner/Info.plist 中添加以下键值对,说明应用需要追踪权限的原因:

<key>NSUserTrackingUsageDescription</key>
<string>此标识符将用于向您推送个性化广告</string>

<string> 内容需根据实际用途填写,审核时会检查描述是否合理。

2. 添加依赖库(仅 iOS 14+)

ios/Podfile 中确认包含 App Tracking Transparency 框架:

target 'Runner' do
  use_frameworks!
  pod 'AppTrackingTransparency'
end

3. 请求权限(Dart 代码)

使用 app_tracking_transparency 插件(推荐):

# pubspec.yaml 添加依赖
dependencies:
  app_tracking_transparency: ^3.0.0
import 'package:app_tracking_transparency/app_tracking_transparency.dart';

void requestTracking() async {
  // 检查当前状态
  var status = await AppTrackingTransparency.trackingAuthorizationStatus;
  
  if (status == TrackingStatus.notDetermined) {
    // 显示权限请求弹窗
    await AppTrackingTransparency.requestTrackingAuthorization();
  }
}

initState 或合适时机调用 requestTracking

4. 其他注意事项

  • 测试:在 iOS 设置中可重置权限状态(设置 → 隐私 → 跟踪)。
  • 审核:若应用未使用广告ID,无需请求此权限。
  • 插件更新:关注 app_tracking_transparency 插件版本兼容性。

完成配置后,应用首次请求时将显示系统弹窗,用户可选择允许或拒绝跟踪。

回到顶部