私はこのコードスニペットを持っています:
NSPasteboard *pboard = [NSPasteboard pasteboardWithName:NSDragPboard];
[pboard declareTypes:[NSArray arrayWithObject:NSURLPboardType] owner:nil];
[pboard writeObjects:[NSArray arrayWithObject:[NSURL fileURLWithPath:@"/Users/dw/Desktop/macapp/Menulet/logo.png"]]];
また、絶対パスは使用したくありませんが、「logo.png」だけを使用しようとすると、次のエラーが発生します。
NSURLs written to the pasteboard via NSPasteboardWriting must be absolute URLs. NSURL 'logo.png -- file://localhost/Users/dw/Library/Developer/Xcode/DerivedData/Menulet-bvwpfkjlcufhxubvaxubgnubtfgi/Build/Products/Debug/' is not an absolute URL.
とにかくそれをハードコーディングする必要がないということはありますか?logo.pngは現在、Xcodeのリソースフォルダにあります。
編集: 代わりにディレクトリパスを取得するにはどうすればよいですか?