我们正在xamarin.ios本机应用程序开发中。我们已经实现了OAuth重定向,并在AppDelegate类中实现了OpenUrl()。它在iOS 12中正常运行,但在iOS 13或更高版本的真实设备和模拟器中均无效。
public override bool OpenUrl(UIApplication app, NSUrl url, NSDictionary options)
{
// Convert iOS NSUrl to C#/netxf/BCL System.Uri - common API
var uri_netfx = new Uri(url.AbsoluteString);
clsXamrinAuthSample.Auth.OnPageLoading(uri_netfx);
return true;
}
我们需要一些帮助。
[从iOS 13开始,您需要在SceneDelegate.cs
文件中使用openUrl进行详细说明,并在OpenUrlContexts
方法中编写代码。
我无法访问网址属性。
关于访问Url
属性,您可以从AnyObject
元素中获取它,如下所示。
[Export("scene:openURLContexts:")]
public void OpenUrlContexts(UIScene scene, NSSet<UIOpenUrlContext> urlContexts)
{
Console.WriteLine("URL property =====" + urlContexts.AnyObject.Url);
var urlString = urlContexts.AnyObject.Url;
if( urlString.Equals("wide://"))
{
// Run code
}
}