12

我有一个从电子邮件附件导入文件的 iOS 应用程序。我注意到,一旦我完成它,它会将导入的文件放入 Documents/Inbox。

我的应用程序应该删除这些文件还是操作系统最终会清除它们?

如果是这样,如何?我试过了:

[[NSFileManager defaultManager] removeItemAtPath:[self.url path] error:nil];

但是,即使 self.url 是我的导入文件的正确路径,它似乎也没有引用收件箱中的文件。

4

1 回答 1

10

系统不会清除导入的文件,需要时手动清除,但不要删除Documents目录。

如何清除NSDocumentsDirectory你可以在这里找到

如果要从收件箱中删除文件,请使用相同的代码添加

...
NSString *path = [NSString stringWithFormat:@"%@/Inbox", documentsDirectory ];
NSArray *directoryContents = [fileMgr contentsOfDirectoryAtPath:error:&error];
...

阅读参考资料

来自苹果文档:

使用此目录访问外部实体要求您的应用打开的文件。具体来说,Mail 程序将与您的应用关联的电子邮件附件放在此目录中;文档交互控制器也可以在其中放置文件。

您的应用可以读取和删除此目录中的文件,但不能创建新文件或写入现有文件。如果用户尝试编辑此目录中的文件,您的应用程序必须在进行任何更改之前静默地将其移出目录。

此目录的内容由 iTunes 备份。

于 2013-04-25T11:26:09.033 回答