从设备中删除本地icloud文件?

时间:2013-12-25 10:00:15

标签: ios objective-c file icloud nsfilemanager

在设备上的第一个安装应用程序上,当读取icloud文件的内容时,文件检查是真的:

[[NSFileManager defaultManager] fileExistsAtPath:[fileURL path]]

但我无法阅读尚未将文件下载到设备的内容:

[[NSFileManager defaultManager] startDownloadingUbiquitousItemAtURL:fileURL error:nil];

在所有文件操作之后我想从设备中删除本地复制文件,但不从icloud中删除此文件。 存储这些副本的位置,您可以删除它们吗? NSURL的副本必须与NSURL icloud不同。如果他们匹配,那么我将删除icloud中的文件。

2 个答案:

答案 0 :(得分:2)

您可以使用以下调用删除本地副本,而无需从iCloud中删除该文件。

[[NSFileManager defaultManager] evictUbiquitousItemAtURL:fileUrl error:nil];

答案 1 :(得分:1)

如果您使用的路径是普遍容器,则文件会自动同步,因此删除文件将导致iCloud文件也被删除。如果要保留本地副本,则需要将文件复制到apps本地沙箱目录,因此首先启动下载,一旦完成,然后将文件复制到本地目录或ubiquity容器中的.nosync子目录

iCloud容器的目的是同步文件而非云存储。