我使用UIDocument将文档文件保存到文档目录中的本地存储沙箱中。我在iCloud中有一个同名的文件。如何检查这两个文件是同一个文档文件的副本还是同名的两个不同的文档文件的副本?
使用NSFileVersion并不能告诉我它们是否是同一个文件,而是文件的哪个版本。
我尝试获取文件的资源值,但是本地存储沙箱中的文件给了我零作为文档标识符。
下面是使用documentIdentifier资源值的代码:
let localFileResourceValues = try? self.document!.fileURL.resourceValues(forKeys: [URLResourceKey.documentIdentifierKey])
let iCloudFileResourceValues = try? destinationURL.resourceValues(forKeys: [URLResourceKey.documentIdentifierKey])
print("documentIdentifier", localFileResourceValues?.documentIdentifier as Any, iCloudFileResourceValues?.documentIdentifier as Any, localFileResourceValues?.documentIdentifier == iCloudFileResourceValues?.documentIdentifier)打印结果:
documentIdentifier零可选(133819) false
是否可以从本地存储沙箱中的文件中获取NSMetadataItem?
我很感谢你的帮助。
发布于 2019-08-23 18:24:53
要了解这两个文件路径是否指向同一个文件对象,需要使用NSString stringByStandardizingPath规范文件路径,然后使用NSString stringByResolvingSymlinksInPath:解析符号链接,然后比较这些路径。这个网页有很好的描述和准备就绪的代码.
要了解两个文件是否具有相同的内容,即使它们可能是不同的文件对象,NSFileManager contentsEqualAtPath:andPath:也是有用的。
https://stackoverflow.com/questions/52343369
复制相似问题