Xamarin Macintosh客户URL协议句柄传递参数

时间:2017-03-14 13:34:24

标签: macos url arguments protocols xamarin.mac

我编写了一个处理自定义协议的Macintosh应用程序:

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLName</key>
        <string>My Cool Handler</string>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>coolhandler</string>
        </array>
    </dict>
</array>

一切都很好。它发布了。但是,我点击了这样一个链接:

coolhandler:// Iwant / toparse /这

在Windows中,注册表项很简单,这很好用。当我的Windows应用程序启动时,整个url作为参数传递,我可以解析它。

    protected override void OnStartup(StartupEventArgs e)
    {
        _url = !e.Args.Any()?"":e.Args[0];
        //parse the url
    }

在我的pList或应用程序中,我处理这个吗?即,如何将url参数传递给应用程序?

1 个答案:

答案 0 :(得分:1)

你可能需要在C#中做这样的事情:

Accessing command line arguments in Objective-C

这看起来像是:

string[] args = NSProcessInfo.ProcessInfo.Arguments;