您是不是需要从 Documents/Inbox 中删除导入的文件?
Posted
技术标签:
【中文标题】您是不是需要从 Documents/Inbox 中删除导入的文件?【英文标题】:Do you need to delete imported files from Documents/Inbox?您是否需要从 Documents/Inbox 中删除导入的文件? 【发布时间】:2013-04-25 11:12:52 【问题描述】:我有一个从电子邮件附件导入文件的 ios 应用。 我注意到,一旦我完成它,它会将导入的文件放入 Documents/Inbox。
我的应用应该删除这些文件还是操作系统最终会清除它们?
如果是这样,怎么做?我试过了:
[[NSFileManager defaultManager] removeItemAtPath:[self.url path] error:nil];
但它似乎没有引用收件箱中的文件,即使 self.url 是我的导入文件的正确路径。
【问题讨论】:
【参考方案1】:系统不清除导入的文件,需要时手动清除,不能删除Documents目录。
如何清除NSDocumentsDirectory
你可以找到here
如果您想从收件箱中删除文件,请使用相同的代码添加
...
NSString *path = [NSString stringWithFormat:@"%@/Inbox", documentsDirectory ];
NSArray *directoryContents = [fileMgr contentsOfDirectoryAtPath:error:&error];
...
阅读reference
来自苹果文档:
使用此目录访问要求您的应用打开的文件 外部实体。具体来说,Mail 程序将电子邮件 此目录中与您的应用关联的附件;文档 交互控制器也可以在其中放置文件。
您的应用可以读取和删除此目录中的文件,但无法创建新文件或写入现有文件。如果用户尝试编辑 此目录中的文件,您的应用程序必须默默地将其移出 进行任何更改之前的目录。
此目录的内容由 iTunes 备份。
【讨论】:
这不会清除收件箱。这个收件箱文件夹似乎是一个特殊的文件夹。它由系统创建,而不是我的应用程序。我不能用这个方法删除它。以上是关于您是不是需要从 Documents/Inbox 中删除导入的文件?的主要内容,如果未能解决你的问题,请参考以下文章
将文档/收件箱文件移动到另一个位置 - Xcode 7、Swift 2
您是不是应该从业务层(或服务层、域模型等)返回 BindingList?