为啥 iOS 14 ATT 提示无法在模拟器上运行?

Posted

技术标签:

【中文标题】为啥 iOS 14 ATT 提示无法在模拟器上运行?【英文标题】:Why iOS 14 ATT Prompt Won't Work on Simulator?为什么 iOS 14 ATT 提示无法在模拟器上运行? 【发布时间】:2020-08-28 08:20:50 【问题描述】:

我正在尝试为我的统一项目制作一个插件来调用新的 ios 14 ATTracking。屏幕上没有提示,为什么?我没有收到任何错误,我知道代码进入了 if 语句。试了模拟器,可能这就是为什么它不起作用?

+(void)requestAttPermission:(NSString*)callback

 if (@available(iOS 14, *)) 
  [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status)
   
      UnitySendMessage("SomeGameObject", [callback UTF8String], "");
   
 

【问题讨论】:

权限可能被用户在设置中拒绝。我不确定是否可以在模拟器中做到这一点。见***.com/questions/62817164/… 感谢您的评论。这是我的一个愚蠢的新手错误。找到了答案。 请注意,Apple 宣布您有时间在“明年初”之前实施此权限请求,可以在此处阅读 developer.apple.com/news/?id=hx9s63c5 和此处 adexchanger.com/mobile/… 【参考方案1】:

显然,它适用于 iOS 14 模拟器。我做错的是我以为AppTrackingTransparency.framework已经被添加了,但事实并非如此。

在我添加该框架(在 Xcode -> 构建阶段 -> 将二进制文件与库链接)之后,它就起作用了。

【讨论】:

以上是关于为啥 iOS 14 ATT 提示无法在模拟器上运行?的主要内容,如果未能解决你的问题,请参考以下文章

Firebase Analytics 在 iOS 14.5 上与 ATT 的合规性

Apple 登录无法在 iOS 14 模拟器上运行

为啥 Today Widget 在 iOS 14 上显示“无法加载”且无法调试?

安卓模拟器为啥没网络,谁知道?

为啥 iOS7 模拟器无法启动或按预期启动...?

UniversalLink 不适用于 iOS 14 设备,但在模拟器上运行良好