Cle*_*rem 9 webkit objective-c application-cache ios wkwebview
我知道iOS WKWebView不支持脱机应用程序缓存.
这在Safari中启用,因此我在webkit项目中搜索了负责的代码并找到了这个
WKPreferences
- (void)_setOfflineApplicationCacheIsEnabled:(BOOL)offlineApplicationCacheIsEnabled;
Run Code Online (Sandbox Code Playgroud)
有人熟悉这种方法吗?是否可以通过访问此私有方法在iOS中启用应用程序缓存?(我不打算将应用程序发送到Appstore)
是的,我们可以通过访问私有API来启用App缓存
WKPreferences为以下方法签名创建类别并添加到以下方法签名.
@interface WKPreferences (MyPreferences)
- (void)_setOfflineApplicationCacheIsEnabled:(BOOL)offlineApplicationCacheIsEnabled;
@end
Run Code Online (Sandbox Code Playgroud)
(我尝试了performSelector:withObject:但它没有用.不知道为什么)
初始化WKWebView后,通过调用以下对象中的上述方法启用appcache
[_wkWebView.configuration.preferences _setOfflineApplicationCacheIsEnabled:YES];
Run Code Online (Sandbox Code Playgroud)
它将在Cache目录中创建ApplicationCache.db文件,并允许Web应用程序脱机工作.
警告 :
2.5.使用非公共API的应用将被拒绝
| 归档时间: |
|
| 查看次数: |
11659 次 |
| 最近记录: |