如何仅为 iOS 本机添加代码,并在必要时在 xamarin 应用程序中调用它?

How can I add code for iOS native only and call it when necessary in xamarin app?

我正在使用 xamarin 创建一个演示项目,在其中,我想制作一个函数,我可以将其放入 iOS 本机端,并在需要时使用该特定函数并从函数中获取回调来自 iOS 原生。我已经检查过但没有找到任何可以与我一起工作的足够的东西。我只想为 iOS 调用下面的代码,并且需要它对 xamarin 代码的响应。

 UIApplication.shared.open(redirectUrl, options: [:], completionHandler: { success in
    if success {
        // Handle success.
    } else {
        // Handle failure. Most likely app is not present on the user's device. You can redirect to App Store using these links:
       
    }
})

我愿意接受任何可以解决我调用此函数的问题的方法。如果我可以在 xamarin 中调用它,那么也请给我建议,以便我可以将它放入 xamarin 文件中。

如果我没理解错,这可以通过 Dependency Service 实现。

表单中的界面

public interface IMyService
{
   Task<bool> openUrl(string url);
}

在iOS

中实施
[assembly: Dependency(typeof(MyForms.iOS.MyService))]
namespace MyForms.iOS
{
    internal class MyService : IMyService
    {
        public Task<bool> openUrl(string url)
        {
            return UIApplication.SharedApplication.OpenUrlAsync(new NSUrl(url), null);
        }
    }
}

表单中的用法

bool success = await DependencyService.Get<IMyService>().openUrl("www.google.com");