您是不是需要从 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 中删除导入的文件?的主要内容,如果未能解决你的问题,请参考以下文章

从我的应用程序访问文档/收件箱中 IOS 上的文件

将文档/收件箱文件移动到另一个位置 - Xcode 7、Swift 2

您是不是应该从业务层(或服务层、域模型等)返回 BindingList?

在 C# 中验证文件是不是存在

您是不是需要对 Java 有“完整”的了解才能编写 Android 应用程序? [关闭]

您是不是曾经使用欧盟或英国帐户从韩国登录 Bigquery?