我创建了一个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'); }