科尔多瓦

我已经创建了一个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浏览器,我可以看到设置为Crosswalk的navigator.userAgent与此图像类似

我的包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的crosswalk快速入门指南,但我认为这对于通常使用cordova CLI的人来说并不那么容易理解。 没有什么是关于cordova-plugin-crosswalk-webview npm软件包的文档的。

更新:

按照科尔多瓦输出:

$ 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
..

iOS上的WKWebView使用原生WKWebView ,它具有indexedDB支持,你可以运行这个javascript代码来检查它是否是WKWebView

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

科尔多瓦人行横道插件只为Android增加了十字路径。

请注意,针对iOS的Crosswalk需要在应用商店的应用中使用webkit,因此它基本上使用WKWebView。 (它使用webkit而不是通常的闪烁引擎chrome基于)

看到Jesse对我的问题的回应:Cordova + Crosswalk iOS仍在使用UIWebView

链接地址: http://www.djcxy.com/p/29731.html

上一篇: cordova

下一篇: android: Which practice is better for using CoordinatorLayout