如何在 iOS 模拟器启动时停止应用程序请求跟踪

Posted

技术标签:

【中文标题】如何在 iOS 模拟器启动时停止应用程序请求跟踪【英文标题】:How to stop apps to request tracking on start of iOS Simulator 【发布时间】:2021-10-05 00:47:43 【问题描述】:

我正在使用Bitriseios Simulator 上运行Flutter 集成测试。

每次我需要启动iOS 的新实例时。由于 Apple 的隐私政策,我收到“允许应用程序跟踪您在其他公司的应用程序和网站上的活动?”的警报。在我的应用程序的每个新开始。它会阻止我的测试。

我有办法在 iOS 模拟器启动时消除此警报吗?

如何通过单个命令禁用该选项?

【问题讨论】:

【参考方案1】:

有一种叫做“预处理器标志”的东西,您可以使用它来包装在特殊类型的 if 语句中执行的代码。默认情况下你可以这样做:

#if DEBUG
    // do something if it's not production
#else
    // trigger the alert
#endif

但是,除非您构建生产版本,否则您无法在设备上手动对其进行测试。您可以将特殊标志添加到测试目标的构建设置中,这些标志只会在该目标中触发。

那么我们可以这样写:

#if UITEST
  // do nothing here
#else
  // launch the alert
#endif

【讨论】:

以上是关于如何在 iOS 模拟器启动时停止应用程序请求跟踪的主要内容,如果未能解决你的问题,请参考以下文章

如何在应用程序中停止位置跟踪?

iOS CoreLocation 在后台

RestKit iOS 应用程序应请求崩溃

Apple Instruments 在跟踪 iOS 分配时停止工作

应用在 iOS 中启动时是不是存在应用间通信?

ios模拟器:如何关闭应用程序