QLPreviewController似乎基于本地文件的URL缓存文件内容。在我的应用程序中,文件内容可以远程更新,会导致新内容被下载。
如果我在QLPreviewController中查看一个文件,然后远程更新它,再次预览时,该文件不会显示为已更新。
该文件在磁盘上肯定已经更新,其他控件显示了正确的更新的文件。
我目前使用的解决方法是,在预览文件时将其移动到唯一文件名(使用时间戳),这当然不会在QLPreviewController的缓存中。但是,这还有其他影响,例如,如果应用程序被杀死或崩溃(天啊),我将不知道“在哪里”找到下载的文件。
我正在寻找不太侵入性的黑客,或者解决方案来使QLPreviewController刷新其缓存。这些API似乎没有公开任何东西,因此如果您提出的黑客比我上面呈现的要少,则不要害怕提交(不包括将文件复制/移动到保证唯一的URL,我已经在利用)。