在设备上的第一个安装应用程序上,当读取icloud文件的内容时,文件检查是真的:
[[NSFileManager defaultManager] fileExistsAtPath:[fileURL path]]
但我无法阅读尚未将文件下载到设备的内容:
[[NSFileManager defaultManager] startDownloadingUbiquitousItemAtURL:fileURL error:nil];
在所有文件操作之后我想从设备中删除本地复制文件,但不从icloud中删除此文件。 存储这些副本的位置,您可以删除它们吗? NSURL的副本必须与NSURL icloud不同。如果他们匹配,那么我将删除icloud中的文件。
答案 0 :(得分:2)
您可以使用以下调用删除本地副本,而无需从iCloud中删除该文件。
[[NSFileManager defaultManager] evictUbiquitousItemAtURL:fileUrl error:nil];
答案 1 :(得分:1)
如果您使用的路径是普遍容器,则文件会自动同步,因此删除文件将导致iCloud文件也被删除。如果要保留本地副本,则需要将文件复制到apps本地沙箱目录,因此首先启动下载,一旦完成,然后将文件复制到本地目录或ubiquity容器中的.nosync子目录
iCloud容器的目的是同步文件而非云存储。