如何从跨平台PCL使用iOS AppTrackingTransparency.ATTrackingManager?

2024-01-06

所以昨天这一行:

          ATTrackingManager.RequestTrackingAuthorization((status) => {
                     if (status == ATTrackingManagerAuthorizationStatus.Authorized)
                     {
                     }

是工作代码(在我的跨平台 Xamarin.Forms PCL 中)。 今天 xamarin.ios 收到了更新。

在PCL项目中,不再找到跟踪管​​理器。 Intellisense 不再知道它是什么,我无法调试该应用程序。

它在 xamarin.ios 项目中被识别,但我需要从我的 PCL 访问它。

有人遇到同样的问题和/或已经找到解决方案吗?

如何回滚到今天收到的 xamarin.ios 之前的版本?


不需要回滚。作为测试,我更新了

  • Visual Studio(还更新了 Xamarin.iOS)。
  • XCode 至 14.5.1。

然后,我向现有的 Xamarin Forms 解决方案添加了一行代码,该解决方案引用了AppTrackingTransparency.ATTrackingManager。这被认为是有效的代码。我也尝试过ATTrackingManager,智能感知正确地告诉我我需要using AppTrackingTransparency.

所以它现在就在那里。

该命名空间+类名是特定于 iOS 的,因此必须从特定于 iOS 的项目中引用。 (如果它以前在 PCL 中是可引用的,那么这可能是一个已被纠正的错误;这样的代码在任何其他平台上都会崩溃。)


第一步:

在您的 iOS 项目中,编写引用该类的代码。


第二步:

您需要了解如何使用跨平台 Xamarin Forms PCL 中的自定义 iOS 代码。

我不会在这里重复这一点 - 关于该主题有多个问答。
谷歌“stackoverflow xamarin 表单调用平台特定代码”。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从跨平台PCL使用iOS AppTrackingTransparency.ATTrackingManager? 的相关文章

随机推荐