4

我正在试验 Mono、MonoMac 和 C#。我尝试编写一个基于 Mac OS 服务的简单应用程序。我遵循了 Apple 关于服务提供商实施的开发人员文档

我的问题是:如何注册服务。在 Objective-C 中,我会调用 NSApplication 的 setServicesProvider 方法。但是在MonoMac中好像没有这样的方法。这是正确的吗?在单声道文档中,我发现 NSApplication 应该有一个带有相应设置器的服务提供者。但调用 SetServicesProvider 如下:

MyClass myClass = new MyClass(); 
NSApplication.SetServicesProvider(myClass); 

导致以下错误:

Error CS0117: `MonoMac.AppKit.NSApplication' does not contain a definition for `SetServicesProvider' (CS0117) 

这里有什么问题?ServicesProvider 属性是目前尚未实现的 10% 的 AppKit 的一部分吗(MonoMac 项目页面上的状态部分在“AppKit(大约 10% 有待完成)下显示”)?

或者,我尝试按照苹果开发人员的示例中的建议找到一个类 NSRegisterServicesProvider 。但是我找不到这样的课程。

有人知道如何使用 MonoMac 注册服务吗?你能指点我一个解决方案,一个例子吗?

我正在使用 MonoDevelop 3.1.1 和Xamarin.Mac开发插件(版本 3.1.1)。后者至少是加载项管理器中所述的内容。“关于 MonoDevelop”中的版本信息选项卡显示“Xamarin.Mac:未安装”。但我认为后者是不对的,因为例如我可以NSApplication使用MonoMac.AppKit.

我在 Mono - OSX 邮件列表上问了这个问题,但不幸的是,到目前为止我没有得到任何回复。

4

1 回答 1

0

这由Xamarin.Mac. 尝试;

NSApplication.SharedApplication.ServicesProvider = new myClass()

我在这些服务中发现的最困难的事情是让info.plist声明正确。

于 2015-03-02T15:03:08.083 回答