Ios 即使是带有Cordova WKWebview引擎插件的基本Ionic项目也会产生白色屏幕

Ios 即使是带有Cordova WKWebview引擎插件的基本Ionic项目也会产生白色屏幕,ios,cordova,uiwebview,ionic-framework,wkwebview,Ios,Cordova,Uiwebview,Ionic Framework,Wkwebview,我的问题: 在发现UIWebView是罪魁祸首之后,我正在寻找加快开发速度的方法,其中WKWebView是最有希望的解决方案 我的项目是什么样子的: 在使用当前Cordova 4.1.0 CLI(我使用的是ionic 1.2.4)设置示例ionic项目(例如)时,默认使用UIWebView。但是,自Cordova 4以来,新的、更快的WKWebView受到开箱即用的支持,并且可以强制使用,至少在iOS 9中是如此() 我使用和配置的插件: 通过cordova plugin add cordova

我的问题: 在发现UIWebView是罪魁祸首之后,我正在寻找加快开发速度的方法,其中WKWebView是最有希望的解决方案

我的项目是什么样子的: 在使用当前Cordova 4.1.0 CLI(我使用的是ionic 1.2.4)设置示例ionic项目(例如)时,默认使用UIWebView。但是,自Cordova 4以来,新的、更快的WKWebView受到开箱即用的支持,并且可以强制使用,至少在iOS 9中是如此()

我使用和配置的插件: 通过
cordova plugin add cordova plugin wkwebview engine
添加对iOS平台的支持(目前为9.3)。添加此插件并在config.xml中正确配置时


到目前为止我所尝试的: 在终端
ionic build ios
,然后构建成功,当在控制台日志中通过XCode 7.3在OS X El Capitan 10.11.3上安装应用程序时,会打印
使用WKWebView
消息,但紧接着在splashscreen之后,应用程序容器会消失为白色死亡屏幕。一旦我删除该插件,UIWebView就会被使用,应用程序也会按预期工作

替代方案:用集成了localhost的插件替换原来的插件,效果很好。据我所知,WKWebview应该由cordova和ionic提供即时支持,而不必依赖于带有集成服务器的“实验室插件”,该服务器是为支持我不需要的iOS 8而开发的。我知道与旧的UIWebView相比,WKWebView有相当多的局限性,尤其是在处理
文件://
语句时,但肯定有人让Ionic+Cordova WKWebView在没有我所有麻烦的情况下工作,对吗?必须有更好的方法来实现webview的简单速度提升

我尝试了各种解决方案、配置、插件组合、cordova cli版本降级(WKWebView支持的最低版本为4.0.0)、清除缓存、重置和重新启动设备、新安装和读取平台以及更新cordova、npm和各种插件,但是,除了上面的apachelabs插件之外,它们都没有任何帮助,或者看起来像一团乱麻,没有任何改变

当通过我的本地Safari在设备上远程调试ios应用程序时,我可以在元素树中看到,body标记保持为空,或者显示角度元素的简单“ng视图”占位符。通过cordova通过WKWwebView处理文件/角度脚本的方式检索文件/角度脚本时,我是否正确

注意:应用程序本身可以正常工作,无论是使用
ionic serve
还是
ionic Simulate ios
,只有在通过XCode部署到真实设备时(因为
ionic run ios
不起作用,但情况不同),才会出现白色屏幕

非常感谢您的任何帮助,因为在我看来,我要么使用localhost+wkwebview插件,要么让用户遭受速度太慢的痛苦


非常感谢

我正在考虑在IOS上使用CrossWalk,它的WkWebView实现可以正常工作

该项目由英特尔公司支持,因此有可靠的支持

另一个选择是尝试安装Telerik开发的以下插件,该插件在WKWebView中进行交换

Cordova还将通过一个插件支持WKWebView。对WKWebView的支持非常糟糕。自从iOS7发布以来,它就充满了bug。每个ios版本都在慢慢修复


希望iOS 10能有所改进。

我有一个ionic2项目与WKWebview一起工作。我认为我采取的措施也适用于ionic1:

1) 安装WKWebview插件:

爱奥尼亚插件添加cordova插件wkwebview引擎

2) 安装本地Web服务器插件:

离子插件添加https://git-wip-us.apache.org/repos/asf/cordova-plugins.git#master:local-Web服务器

3) 在config.xml中添加/更改以下内容:





感谢您抽出时间推荐一些链接-您是否成功地将iOS的Crosswalk集成到Ionic项目中?在他们的网站上,他们表示目前只支持Android中的其他浏览器。。关于Telerik:它需要cordova 3.x而不是4.x,这给我的项目带来了一大堆其他问题,我甚至不支持iOS 8,因此似乎还没有一个合理的替代方案-我还希望在昨天的WWDC之后支持WKWebView(由cordova提供)将增加..我发现这个线程表明将不会有支持iOS的crosswalk的cordova插件,因为它与当前的WKWebView相比没有真正的优势:对我们来说,在iOS9下采用这种方法会导致一个空白屏幕。有什么想法吗?太好了,对我也有用。您知道使用localhost插件是否会显著降低WKWebview提供的性能增益吗?ionic plugin add::不工作,错误:无法通过git获取插件。可能存在连接问题,或者插件规范不正确:找不到插件“本地Web服务器”的plugin.xml。请尝试再次添加它。
<content src="http://localhost:8080" />
<allow-navigation href="gap://ready" />
<allow-navigation href="http://localhost:*" />
<feature name="CDVWKWebViewEngine">
    <param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />