回答你的问题。动态链接在 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";
我花了一周的时间试图解决这个错误,真心希望其他人能够看到这一点并为您节省宝贵的时间。