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

图拉西

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

所以我创建了一个示例原生 iOS 项目并测试自定义 URL Scheme 并且它正在工作。这是示例 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?

Adrain Zhu -MSFT

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

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

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

在“标识符”字段中,输入“com.myapp.urlscheme”。在“URL Scheme”字段中,输入“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”。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章