QLPreviewController似乎根据本地文件的URL来缓存文件内容。在我的应用程序中,文件内容可以远程更新,并会导致下载新内容。使QLPreviewController“缓存”无效
如果我在QLPreviewController中查看文件,远程更新它,然后重新预览它,文件不会显示为已更新。
该文件在磁盘上明确更新,其他控件显示正确的更新文件。
我现在使用的解决方法是基本上移动一个文件,当它预览到一个唯一的文件名(使用时间戳),当然不会在QLPreviewController的缓存中。但是,这有其他影响,例如,如果应用程序被杀害或崩溃(上帝保佑),我不知道“在哪里”找到下载的文件。
我在寻找侵入性较弱的黑客,或者是让QLPreviewController刷新缓存的解决方案。这些API似乎没有暴露任何东西,所以不要害怕提交一个黑客,如果它比我上面提到的一个粗糙(不包括复制/移动文件到一个保证的唯一的URL,我已经利用)。
我只是想你的第二个解决方案和套结时间戳到URL不幸的是不起作用。 –