4

Mono、MonoMac、および C# を試しています。Mac OS のサービスに基づいた簡単なアプリケーションを作成しようとしています。サービスプロバイダーの実装に関するAppleの開発者向けドキュメントに従いました。

私の問題は、サービスを登録する方法です。Objective-C では、NSApplication の setServicesProvider メソッドを呼び出します。しかし、MonoMac にはそのような方法はないようです。これは正しいですか?mono docs で、NSApplication には対応するセッターを持つサービス プロバイダーが必要であることがわかりました。ただし、次のように SetServicesProvider を呼び出します。

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

次のエラーが発生します。

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

ここで何が問題なのですか?ServicesProvider プロパティは、これまでに実装されていない AppKit の 10% の一部ですか (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