Objective c 如何以编程方式在文件和/或目录中添加注释?
我试图以编程方式在文件和目录中添加注释 有可能吗?如果是,请帮助我实现这一目标Objective c 如何以编程方式在文件和/或目录中添加注释?,objective-c,macos,cocoa,finder,Objective C,Macos,Cocoa,Finder,我试图以编程方式在文件和目录中添加注释 有可能吗?如果是,请帮助我实现这一目标 我从Cocoa框架中寻找了一个直接API,但没有成功,我很乐意通过任何方式(Cocoa、shell或任何脚本)来实现这一点。既然没有公共API,如果你搜索Spotlight评论,你会看到各种各样的解决方案,它们都是基于AppleEvents、Applescript或xattr的。。像 我通过包装在Objective-C中的Apple脚本实现了这一点: NSString *comment = @"hi boys"
我从Cocoa框架中寻找了一个直接API,但没有成功,我很乐意通过任何方式(Cocoa、shell或任何脚本)来实现这一点。既然没有公共API,如果你搜索Spotlight评论,你会看到各种各样的解决方案,它们都是基于AppleEvents、Applescript或xattr的。。像
我通过包装在Objective-C中的Apple脚本实现了这一点:
NSString *comment = @"hi boys";
NSOpenPanel *op = [NSOpenPanel new];
NSInteger answer = [op runModal];
if (answer == NSOKButton) {
NSURL *url = [op URL];
NSMutableString *appleScriptString = [NSMutableString new];
[appleScriptString appendString:@"TELL APPLICATION \"FINDER\"\n"];
NSString *setPath = [NSString stringWithFormat:@"SET filePath TO \"%@\" AS POSIX FILE \n", [url absoluteString]];
[appleScriptString appendString:setPath];
NSString *setComment = [NSString stringWithFormat:@"SET COMMENT OF (filePath AS ALIAS) TO \"%@\" \n", comment];
[appleScriptString appendString:setComment];
[appleScriptString appendString:@"END TELL"];
NSAppleScript *commentorScript = [[NSAppleScript alloc] initWithSource:appleScriptString];
NSDictionary *dictErr;
[commentorScript executeAndReturnError:&dictErr];
NSLog(@"Dict error = %@", dictErr);
}
看来你不能用AppleScript来做,因为Finder的注释项是只读的。@ElTomato:我也只是用AppleScript做的。在下面检查我的答案