是否可以创建一个预先填充
HTML5离线appcache的UIWebView,以便即使是第一次访问UIWebView,它也可以脱机工作?
如果是这样,怎么办?
我知道我可以通过其他机制来实现这一点,但上面是我的第一选择.如果可能,我只是很好奇
我在文档中没有看到它.
解决方法
我认为这可能会减少到是否可以以编程方式写入UIWebView的缓存文件(也就是说,UIWebView缓存是否位于应用程序的沙箱中) – 如果您不能,然后游戏结束的问题.如果可以的话,这将成为您将一个预先填充的缓存文件放到位之后会发生什么的问题,以及UIWebView是否“被愚弄”,认为它已经下载并缓存了您的HTML5内容.
如果您正在使用iPhone模拟器测试您的应用程序,请查看〜/ Library / Application Support / iPhone Simulator / 5.0 / Applications(如有必要,请将您的iOS版本替换为“5.0”).对于您在模拟器中编译的每个应用,您应该看到一长串十六进制数字;找到与您的应用程序相对应的应用程序,然后查找名为Cache.db的文件的Library / Caches / [您的应用程序的标识符]子文件夹.
这可能是UIWebView存储其缓存数据的地方.如果不是,游戏结束和你的问题的答案是“不,这是不可能的”.如果它是UIWebView缓存数据的地方,那么可能可以在模拟器中填充此Cache.db文件,抓取文件,将其存储在应用程序包中,然后将缓存写入适当的位置,填充缓存.
无论如何,这是我用来确定是否可行的攻击路线 – 我非常有信心,答案将是“不,不可能”,除非UIWebView缓存存在于应用程序的沙盒中,是可写的,你可以通过替换它的缓存文件来愚弄UIWebView.