我有一个从电子邮件附件导入文件的 iOS 应用程序。我注意到,一旦我完成它,它会将导入的文件放入 Documents/Inbox。
我的应用程序应该删除这些文件还是操作系统最终会清除它们?
如果是这样,如何?我试过了:
[[NSFileManager defaultManager] removeItemAtPath:[self.url path] error:nil];
但是,即使 self.url 是我的导入文件的正确路径,它似乎也没有引用收件箱中的文件。
我有一个从电子邮件附件导入文件的 iOS 应用程序。我注意到,一旦我完成它,它会将导入的文件放入 Documents/Inbox。
我的应用程序应该删除这些文件还是操作系统最终会清除它们?
如果是这样,如何?我试过了:
[[NSFileManager defaultManager] removeItemAtPath:[self.url path] error:nil];
但是,即使 self.url 是我的导入文件的正确路径,它似乎也没有引用收件箱中的文件。
系统不会清除导入的文件,需要时手动清除,但不要删除Documents目录。
如何清除NSDocumentsDirectory
你可以在这里找到
如果要从收件箱中删除文件,请使用相同的代码添加
...
NSString *path = [NSString stringWithFormat:@"%@/Inbox", documentsDirectory ];
NSArray *directoryContents = [fileMgr contentsOfDirectoryAtPath:error:&error];
...
阅读参考资料
来自苹果文档:
使用此目录访问外部实体要求您的应用打开的文件。具体来说,Mail 程序将与您的应用关联的电子邮件附件放在此目录中;文档交互控制器也可以在其中放置文件。
您的应用可以读取和删除此目录中的文件,但不能创建新文件或写入现有文件。如果用户尝试编辑此目录中的文件,您的应用程序必须在进行任何更改之前静默地将其移出目录。
此目录的内容由 iTunes 备份。