Xamarin IOS 自定义 URL 方案在 iOS 14 中不起作用

Xamarin IOS custom URL Scheme not working in iOS 14

我创建了一个 Xamarin 表单应用程序并为 iOS 配置了自定义 URL 方案,但它没有在 iOS 14.

中触发

所以我创建了一个示例本机 iOS 项目并测试了自定义 URL 方案,它正在运行。 这是示例 iOS swift 代码。

 import SwiftUI

 @main
 struct TestApp: App {
 //@UIApplicationDelegateAdaptor var delegate: AppDelegate
 var body: some Scene {
    WindowGroup {
        ContentView().onOpenURL(perform: handleURL)
    }
 }

func handleURL(_ url: URL) {
    print("source application")
    print(url)
}

}

但是我怎样才能将它转换为 Xamarin.因为如何在 Xamarin iOS?

中调用 onOpenURL

在 info.plist 中添加有关自定义方案的信息。您可以在 iOS 项目选项中执行此操作:

双击您的 iOS 项目 >> 构建 > iOS 应用程序 >> 高级(选项卡)

在底部,您会看到 URL 类型部分。在那里添加有关您的自定义方案的信息。例如:

在“标识符”字段中,输入“com.myapp.urlscheme”。在“URL 方案”字段中,输入“myapp”。

接下来您需要在 AppDelegate 文件中覆盖:

public override bool OpenUrl (UIApplication application, NSUrl url, string sourceApplication, NSObject annotation)
{
// custom stuff here using different properties of the url passed in
return true;
}

继续在上面的覆盖中的“return true”上设置断点

现在,如果您在模拟器上构建 运行,然后在 Safari(在模拟器上)的 url 栏中输入“myapp://com.myapp.urlscheme”,它应该启动您的应用程序,点击断点,“url”参数将为“myapp://com.myapp.urlscheme”。