Objective c 何时删除NSTemporaryDirectory中的文件
我正在构建一个多任务应用程序,其中包括查看大型pdf文件的功能。为了避免每次用户想要查看该文件时都下载该文件,我将该文件下载到NSTemporaryDirectory中,并使用UIDocumentInteractionController提供“快速查看”和“在iBooks中打开” 我希望在用户退出应用程序时清除所有临时文件,以避免占用用户设备上的空间。由于我的应用程序是多任务的,而且永远不会调用我的applicationWillTerminate方法,所以这些文件永远不会被删除。何时清除NSTemporaryDirectory是最好的选择,如何清除?我错过什么了吗Objective c 何时删除NSTemporaryDirectory中的文件,objective-c,multitasking,Objective C,Multitasking,我正在构建一个多任务应用程序,其中包括查看大型pdf文件的功能。为了避免每次用户想要查看该文件时都下载该文件,我将该文件下载到NSTemporaryDirectory中,并使用UIDocumentInteractionController提供“快速查看”和“在iBooks中打开” 我希望在用户退出应用程序时清除所有临时文件,以避免占用用户设备上的空间。由于我的应用程序是多任务的,而且永远不会调用我的applicationWillTerminate方法,所以这些文件永远不会被删除。何时清除NSTe
提前感谢您可以使用一个旧的UNIX技巧,它在iOS上也可以正常工作(我知道,因为我使用了它):
- 保存文件
- 打开它们
- 记住文件描述符
- 删除文件(这是神奇的部分)
close
,还是你的应用程序终止或崩溃,在所有这些情况下,文件都会被操作系统删除,你不必担心
缺点是,您需要更改代码,以便它可以与文件描述符一起工作,因为您无法再通过名称访问文件。应用程序将重新激活
在您的应用程序中,Delegate是最好的选择。根据Apple的说法,“当应用程序即将从活动状态移动到非活动状态时发送。这可能发生在某些类型的临时中断(如来电或短信)或当用户退出应用程序并开始转换到后台状态时。”我只想在应用程序正常关闭时清除文件。有什么想法吗?显然,使用
应用程序标识符背景:
。您是如何管理它的?