即使是使用Cordova WKWebview Engine插件的基本Ionic项目也能生成白屏
我的问题:我正在开发的离子应用程序非常慢,在发现UIWebView是罪魁祸首后,我正在寻找加速它的方法,WKWebView是最有前途的解决方案。
我的项目是什么样的:使用当前的Cordova 4.1.0 CLI设置示例离子项目(例如http://ccoenraets.github.io/ionic-tutorial/install-ionic.html )(我正在使用Ionic 1.2.4)UIWebView用作默认值。 然而,自Cordova 4以来,新的和更快的WKWebView支持开箱即用,并且可以强制使用,至少在iOS 9中( cordova 4支持WKWebView )。
我使用和配置的插件:通过cordova plugin add cordova-plugin-wkwebview-engine
,为iOS平台添加了支持(现在为9.3)。 在config.xml中添加并正确配置此插件时
到目前为止我尝试了:在终端ionic build ios
,然后构建成功,并且在OS X El Capitan 10.11.3上通过XCode 7.3在控制台日志中安装应用程序时,打印Using WKWebView
消息,然后,在启动画面之后,app容器逐渐变成白色的死亡屏幕。 一旦我删除该插件,就会使用UIWebView并且应用程序按预期工作。
替代方案 :将原始插件wkwebview-engine-localhost替换为具有集成localhost的插件,可以正常工作。 据我所知,WKWebview应该得到cordova和ionic的支持,而不必依赖一些带有集成服务器的“labs插件”,该服务器是为了支持我不需要的iOS 8而开发的。 我知道WKWebView与旧的UIWebView相比有一些限制,特别是在处理file://
语句已知问题时 ,但肯定有人在那里让Ionic + Cordova WKWebView工作没有我遇到的麻烦, 对? 必须有更好的方法来实现webview的简单速度提升。
我尝试了每个解决方案,配置,插件组合,cordova cli版本降级(WKWebView支持最低为4.0.0),清除缓存,重置和重新启动设备,新安装和平台读取以及更新cordova,npm,各种插件,但除了上面的apache labs插件之外,所有这些都没有任何帮助,或者看起来像是一个没有改变任何东西的巨大混乱。
当通过我的本地Safari远程调试设备上的ios应用程序时,我可以在元素树中看到,body标签保持为空,或者显示角元素的简单“ng-view”占位符。 我是否正确通过WKWwebView处理它的方式检索文件/角度脚本一定存在问题?
注意:应用程序本身可以正常工作,无论是使用ionic serve
还是ionic emulate ios
,只有在通过XCode部署到真实设备时(因为ionic run ios
不起作用,但这是一个不同的故事),出现白色屏幕。
任何帮助都非常感谢,因为在我看来,我必须使用localhost + wkwebview插件或让用户遭受速度不佳。
非常感谢!
我有一个与WKWebview合作的ionic2项目。 我认为我采取的步骤也适用于ionic1:
1)安装WKWebview插件:
ionic plugin add cordova-plugin-wkwebview-engine
2)安装本地webserver插件:
ionic plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugins.git#master:local-webserver
3)在config.xml中添加/更改以下内容:
…
…
…
我正在研究使用CrossWalk for IOS,它具有WkWebView的实现function。
https://crosswalk-project.org/documentation/ios.html
该项目得到英特尔的支持,因此有坚实的支持。
另一个选择是尝试安装Telerik开发的以下插件,该插件在WKWebView中交换。
https://github.com/Telerik-Verified-Plugins/WKWebView
Cordova也正在转向使用插件支持WKWebView。 对WKWebView的支持非常糟糕。 自iOS7问世以来,它就充斥着各种各样的漏洞。 每个ios版本都会慢慢修复。
这是希望iOS 10做出一些改进。