如何在Mac OS下注册服务
本文关键字:注册 服务 OS Mac | 更新日期: 2023-09-27 18:01:46
我正在尝试Mono, MonoMac和c#。我尝试编写一个基于Mac OS服务的简单应用程序。我参考了苹果关于服务提供商实现的开发者文档。
我的问题是:如何注册服务。在Objective-C中,我会调用NSApplication的setServicesProvider方法。但在MonoMac中似乎没有这样的方法。这样对吗?在mono文档中,我发现NSApplication应该有一个带有相应setter的服务提供者。但是像这样调用SetServicesProvider:
MyClass myClass = new MyClass();
NSApplication.SetServicesProvider(myClass);
导致以下错误:
Error CS0117: `MonoMac.AppKit.NSApplication' does not contain a definition for `SetServicesProvider' (CS0117)
这里有什么问题?到目前为止,尚未实现的AppKit的10%的ServicesProvider属性部分(MonoMac项目页面上的状态部分在"AppKit(约10%待完成)"下说)?
或者,我试着找到一个类NSRegisterServicesProvider在苹果开发人员的例子中建议。但我找不到这样的课程。
有人知道如何使用MonoMac注册服务吗?你能给我指出一个解决方法吗,举个例子?
我使用MonoDevelop 3.1.1和Xamarin.Mac
开发插件(版本3.1.1)。后者至少是外接程序管理器中所声明的。版本信息选项卡在"关于MonoDevelop"说"Xamarin。Mac:未安装"。但我认为后者是不正确的,因为我得到例如使用MonoMac.AppKit
访问NSApplication
类。
我在Mono - OSX邮件列表上问了这个问题,但不幸的是,到目前为止我没有得到答复。
这是由Xamarin.Mac
中的属性包装的。尝试;
NSApplication.SharedApplication.ServicesProvider = new myClass()
我发现这些服务中最困难的事情是使info.plist
声明正确。