iOS上的cordova-plugin-crosswalk-webview

我创建了一个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
..

解决方法

iOS上的crosswalk使用原生的WKWebView,它具有indexedDB支持,你可以运行这个javascript代码来检查它是否是WKWebView
if (window.indexedDB) {
    alert('WKWebView');
} else {
   alert('UIWebView');
}

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...