如何禁止iOS Simulator启动时应用弹出跟踪权限请求,适配Flutter自动化测试
iOS Simulator禁用App跟踪权限弹窗方案
命令行解决方案
你可以通过xcrun simctl命令直接修改运行中模拟器的系统配置,全局禁用该跟踪提示弹窗,无需手动交互。
单条命令快速处理
针对当前运行中的模拟器,直接执行以下命令即可生效:
xcrun simctl spawn booted defaults write NSGlobalDomain AppleUserTrackingEnforced -bool false && xcrun simctl spawn booted defaults write com.apple.AdServices allowPersonalizedAds -bool false
如果你需要指定特定模拟器操作,把命令中的booted替换为对应模拟器的UDID即可。
Bitrise工作流集成
将上述命令添加到Bitrise Workflow的对应位置即可实现自动化处理:
- 放置位置:启动iOS Simulator步骤之后,运行Flutter集成测试步骤之前
- 操作方式:添加独立Script Step,或者直接写入模拟器启动Step的后置脚本配置中即可,每次新创建的模拟器实例都会自动禁用该弹窗,不会阻塞测试流程。
注意事项
- 该方案仅适用于iOS 14及以上系统版本(苹果ATT权限框架正式上线后的版本)
- 命令执行后无需重启模拟器,等待1-2秒配置生效即可启动测试
- 该配置为系统级生效,无论App内部是否集成了ATT权限请求逻辑,都不会触发该弹窗
内容的提问来源于stack exchange,提问作者Misha Shakalo
相关产品推荐
相关产品推荐

