首页 > 解决方案 > Firebase 动态链接未在 Xamarin Forms iOS 中解析

问题描述

我正在使用 Xamarin.Firebase.iOS.DynamicLinks 2.3.1.1 进行动态链接,之前它工作正常,但最近它不工作。尝试提取短链接时,长链接为空。有谁知道为什么它不起作用?

我已经更新到最新版本(4.0.1)并且工作正常。它不适用于任何以前版本的 NuGet 包。

标签: firebasexamarin.formsxamarin.iosnuget-packagefirebase-dynamic-links

解决方案


回答你的问题。动态链接在 Firebase 端无法使用,他们选择停止使用旧库或由于最新的 IOS 更新 13.3。我这样说是因为我正在生产的应用程序的链接工作正常,然后它们突然停止工作。

我当前的解决方案是将 Xamarin.Firebase.iOS.DynamicLinks 更新为(4.0.1),我能够再次使用其参数处理长 url。

如果您有其他库,例如 Firestore、Analytics、Notifications 等,请注意一些事项。您可能会遇到链接器失败异常。它们发生是因为

Xamarin.Firebase.iOS.DynamicLinks (3.0.2.1) and prior depended on
Xamarin.Firebase.iOS.Core (>= 5.1.3) and the working
Xamarin.Firebase.iOS.DynamicLinks (4.0.1.1) references 
Xamarin.Firebase.iOS.Core (>= 6.1.0.1) Somehow they reference methods that are no longer available.

通过检查每个 nuGet 并手动安装引用 ...iOS.Core (>= 6.1.0.1) 的各自 nuGet 来修复链接失败:例如:如果您使用 Xamarin.Firebase.iOS.Storage (2.0.0 ) 手动安装

Xamarin.Firebase.iOS.Storage (3.4.0.1) because 
Xamarin.Firebase.iOS.Storage (2.0.0) references
Xamarin.Firebase.iOS.Storage (>= 3.0.2) which in turn references:
Xamarin.Firebase.iOS.Core (>= 5.1.3) and it will cause native linking failed

最后,在我的情况下,Xamarin.Firebase.iOS.DynamicLinks (4.0.1.1) 将使您生成 ShortLinks 的方法也停止工作:

In Xamarin.Firebase.iOS.DynamicLinks (3.0.2.1) you would build your 
DynamicLinkComponents with:
var shareLink = DynamicLinkComponents.FromLink(linkParameters, 
"YOUR_DOMAIN.page.link");

Xamarin.Firebase.iOS.DynamicLinks (4.0.1.1) recomends you use 
DynamicLinkComponents.Create(YOURlinkParameters, "YOUR_DOMAIN.page.link");
but it would return a null DynamicLinkComponents so i fixed by doing:
var shareLink = new DynamicLinkComponents();
shareLink.Link = YOURlinkParameters;
shareLink.Domain = "https://YOUR_DOMAIN.page.link";

我花了一周的时间试图解决这个错误,真的希望其他人能够看到这一点并为您节省宝贵的时间。


推荐阅读