簡體   English   中英

為什么在 iOS 13 中沒有調用 OpenUrl(),但在 iOS 12 中調用它。(Xamarin.ios)

[英]Why does OpenUrl() is not being called in iOS 13 but it does in iOS 12.(Xamarin.ios)

我們正在從事 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 屬性。

關於訪問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 
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM