我可以使用以下代码在swift中获取finder标签:
if let tagArray = try url.resourceValues(forKeys:[.tagNamesKey]).tagNames {
...
}
但是设置它会导致错误:
var values = URLResourceValues()
values.tagNames = finderTags
给出错误:
Compile Swift Module 'tagsync' (1 sources)
main.swift:104:20: error: cannot assign to property: 'tagNames' is a get-only property
values.tagNames = finderTags
~~~~~~~~~~~~~~~ ^
如何从swift写一个标签?
答案 0 :(得分:1)
我知道这样做的唯一方法是编写com.apple.metadata:_kMDItemUserTags
扩展属性,您可以使用setxattr
API执行此操作。
答案 1 :(得分:0)
您可以使用NSURL(而非URL)轻松编写Finder标签:
let myPath = "any POSIX path; spaces ok"
var myFinderTags = ["a", "b", "c"]
try NSURL(fileURLWithPath: myPath).setResourceValues([.tagNamesKey: myFinderTags])