This plugin can be used in conjunction with
cordova-plugin-wkwebview-engine
to persist LocalStorage data & indexed db when migrating from UIWebView
to WKWebView
. All related
files will be copied over automatically during startup so the user can simply pick up where they
left of.
Simply add the plugin to your cordova project via the cli:
cordoa plugin add cordova-plugin-migrate-localstorage
-
LocalStorage or indexed db files are only copied over once and only if no LocalStorage or indexed db data exists for
WKWebView
yet. This means that if you've run your app withWKWebView
before this plugin will likely not work. To test if data is migrated over correctly:- Delete the app from your emulator or device
- Remove the
cordova-plugin-wkwebview-engine
andcordova-plugin-migrate-localstorage
plugins - Run your app and store some data in LocalStorage
- Add both plugins back
- Run your app again. Your data should still be there!
-
Once the data is copied over, it is not being synced back to
UIWebView
so any changes done inWKWebView
will not persist should you ever move back toUIWebView
. If you have a problem with this, let us know in the issues section!
One of the drawbacks of migrating Cordova apps to WKWebView
is that LocalStorage data does
not persist between the two. Unfortunately,
cordova-plugin-wkwebview-engine
does not offer a solution for this out of the box (see
https://issues.apache.org/jira/browse/CB-11974?jql=project%20%3D%20CB%20AND%20labels%20%3D%20wkwebview-known-issues).