swift-xattr 是 iOS/OSX Swift 语言的可扩展文件属性封装器,可处理下列函数:setxattr, getxattr, listxattr, removexattr。
使用示例:
import Foundation var errorOrNames = attributesNamesAtPath("/file.txt") if let names = errorOrNames.names { names.map { println($0) } } else { println(errorOrNames.error) } > com.apple.FinderInfo > com.apple.metadata:_kMDItemUserTags setAttributeWithName("custom", data: "abc".dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)!, atPath: "/file.txt") errorOrNames = attributesNamesAtPath("/file.txt") if let names = errorOrNames.names { names.map { println($0) } } else { println(errorOrNames.error) } > com.apple.FinderInfo > com.apple.metadata:_kMDItemUserTags > custom var errorOrData = dataForAttributeNamed("custom", atPath: "/file.txt") if let data = errorOrData.data { println(NSString(data: data, encoding: NSUTF8StringEncoding)) } else { println(errorOrData.error) } > abc removeAttributeNamed("custom", atPath: "/file.txt") errorOrData = dataForAttributeNamed("custom", atPath: "/file.txt") if let data = errorOrData.data { println(NSString(data: data, encoding: NSUTF8StringEncoding)) } else { println(errorOrData.error) } > Attribute not found
测试系统:Xcode 6.3, iOS 8.1.1, OS X 10.10