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メーリングリストでこの質問をしましたが、残念ながら今のところ返事がありません.