ioscordovauiwebviewwkwebviewcrosswalk

Cordova + Crosswalk iOS still using UIWebView


I didn't find a lot of instruction setting up crosswalk for iOS it seems like it should be as simple as:

cordova plugin add cordova-plugin-crosswalk-webview
cordova build ios

Because I've had issues with plugins not taking effect before I do the following:

cordova plugin add cordova-plugin-crosswalk-webview
cordova platform remove ios
cordova platform add ios
cordova build ios

After having done this, when I capture the view hierarchy and inspecting that it's still using "UIWebView" which has a "UIWebBrowserView" inside of it (which is inside of a scroll view and there are a couple image views too).

Also, navigator.userAgent is as follows:

"Mozilla/5.0 (iPad; CPU OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13B143 (5618403776)" = $1

Another test someone mentioned was essentially:

if (window.indexedDB)
    console.log('Using crosswalk');
else
    console.log('Not using crosswalk/wkwebview');

And window.indexedDB is undefined.

So... what do I need to do so that the app uses wkwebview?


Solution

  • How I solved the issue

    As JesseMonroy so helpfully answered(feel free to upvote him) the cordova crosswalk plugin is only for android.

    Because of apple's terms of service, crosswalk for iOS uses wkwebview instead of what non-ios version of chrome would use.

    Since there is no cordova plugin I know of for crosswalk iOS, I found plugins for WKWebView

    The plugin I used was: https://github.com/Telerik-Verified-Plugins/WKWebView

    This is probably a better option: https://github.com/apache/cordova-plugin-wkwebview-engine.. But it errored for me.


    Coming soon:

    As stated by Honry:

    Crosswalk will soon provide a cordova plugin for Crosswalk ios, see ticket https://crosswalk-project.org/jira/browse/XWALK-4911

    XWalk will not be supporting an iOS plugin afterall because it does not provide any must have advantages over wkwebview