如何从跨平台PCL使用iOSAppTrackingTransparency.ATTrackingManager?
How use iOS AppTrackingTransparency.ATTrackingManager from cross-platform PCL?
所以昨天这一行:
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
,Intellisense 正确地告诉我我需要 using AppTrackingTransparency
。
所以它现在就在那里。
该命名空间+class名称特定于 iOS,因此必须从特定于 iOS 的项目中引用。 (如果它以前在 PCL 中是可引用的,那可能是一个已被纠正的错误;这样的代码在任何其他平台上都会中断。)
第一步:
在您的 iOS 项目中,编写引用 class 的代码。
第二步:
您需要了解如何使用来自跨平台 Xamarin Forms PCL 的自定义 iOS 代码 PCL。
我不会在这里重复 - 关于该主题有多个问答。
google“Whosebug xamarin 表单调用平台特定代码”。
所以昨天这一行:
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
,Intellisense 正确地告诉我我需要 using AppTrackingTransparency
。
所以它现在就在那里。
该命名空间+class名称特定于 iOS,因此必须从特定于 iOS 的项目中引用。 (如果它以前在 PCL 中是可引用的,那可能是一个已被纠正的错误;这样的代码在任何其他平台上都会中断。)
第一步:
在您的 iOS 项目中,编写引用 class 的代码。
第二步:
您需要了解如何使用来自跨平台 Xamarin Forms PCL 的自定义 iOS 代码 PCL。
我不会在这里重复 - 关于该主题有多个问答。
google“Whosebug xamarin 表单调用平台特定代码”。