OS Xアプリケーションの作成とサービスの登録(つまり、Finderのファイルの右クリックメニューオプション)に進みましたが、右クリックしたときにOSが判読可能なファイルパスをアプリに送信していないように見えることを除いて、すべてが機能しますFinder でファイルを開き、「MyProgram で開く」カスタム オプションを選択します。
私の受信ハンドラー:
- (void)doSomething:(NSPasteboard *)pboard userData:(NSString *)userData error:(NSString **)error {
NSString *pboardString = [pboard stringForType:NSStringPboardType];
NSLog(@"I hope the file path is: %@", pboardString);
}
上記のコードでは、pboardString には実際には「file:///.file/id=6562758.3327676」のような奇妙なものが含まれます。
これはがらくたかもしれませんし、何か役に立つものに変換できるかもしれません。知らない。ペーストボード オブジェクトを配列として印刷しようとすると、 <NSPasteboardItem: 0x103b37d90> のような 16 進数の結果が得られます。
これがサービス プロパティの問題かどうかはわかりません ( https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/SysServices/Articles/properties.html )。行方不明です。ご指導いただければ幸いです。