iOS上的cordova-plugin-crosswalk-webview

时间:2015-10-02 17:35:32

标签: ios cordova webview crosswalk-runtime

我创建了一个cordova项目,添加了2个平台(android,ios)和一些插件。其中一个是最后一个cordova-plugin-crosswalk-webview(1.3.1)。我选择iOS8和android 4.0就像目标android一样。一切运作良好,我也可以构建Android平台和iOS。

在我的config.xml文件中,此行已自动添加:

...
<preference name="xwalkVersion" value="14+" />
<preference name="xwalkCommandLine" value="--disable-pull-to-refresh-effect" />
<preference name="xwalkMode" value="embedded" />
...

对于android我肯定会使用crosswalk插件。使用Chrome检查器,我可以看到navigator.userAgent设置为Crosswalk,类似于此image

我的软件包android-debug.apk现在在android-debug-armv7.apk和android-debug-x86.apk中拆分,apk大小接近25Mb。

但对于iOS,如果人行横道工作与否,我无法理解。在我的iOS虚拟机的safari检查器上,navigator.userAgent变量是:

"Mozilla/5.0 (iPhone; CPU iPhone OS 8_4 like Mac OS X)  AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12H141 (140222960683616)"

我如何确定我在iOS上运行的浏览器?并且,如果没有使用config.xml配置,我如何设置crosswalk-webview fos iOS?

我已经阅读了适用于iOS的人行横道的quick start guide,但我认为对于谁正常使用cordova CLI来说并不是那么容易理解。关于cordova-plugin-crosswalk-webview npm package的文档没有任何内容。

更新

按照cordova输出:

$ cordova plugin list
cordova-plugin-crosswalk-webview 1.3.1 "Crosswalk WebView Engine"


$ cordova platforms add ios

Adding ios project...
iOS project created with cordova-ios@3.9.2
Running command: /Users/jedi/prj/appMobile/hooks/after_prepare/010_add_platform_class.js /Users/jedi/prj/appMobile
add to body class: platform-ios
Running command: /Users/jedi/prj/appMobile/hooks/after_prepare/030_resource_files.js /Users/jedi/prj/appMobile 
...
Installing "cordova-plugin-console" for ios
Installing "cordova-plugin-crosswalk-webview" for ios
Installing "cordova-plugin-device" for ios
..

2 个答案:

答案 0 :(得分:3)

iOS上的 crosswalk使用具有indexedDB支持的原生WKWebView,您可以运行此javascript代码来检查它是否为WKWebView

if (window.indexedDB) {
    alert('WKWebView');
} else {
   alert('UIWebView');
}

答案 1 :(得分:1)

cordova crosswalk插件只为Android添加了cross walk。

请注意,iOS版的crosswalk需要在应用程序商店中使用webkit for apps,因此它基本上使用WKWebView。 (它使用webkit代替通常的闪烁引擎chrome基于)

请参阅Jesse对我的问题的回复:Cordova + Crosswalk iOS still using UIWebView