Hello! Since UIWebView is being deprecated and that cordova ios 6 is still under night builds, I am trying to completely move an ionic cordova app to use WKWebView.
I did follow this tutorial:
https://cordova.apache.org/howto/2020/03/18/wkwebviewonly.html
I am using cordova ios 5.1.1
Here is the list of the cordova plugins I currently have installed in the project:
accuv-call-push-monitor 1.0.0 "AccuvCallPushMonitor"
cordova-android-support-gradle-release 3.0.1 "cordova-android-support-gradle-release"
cordova-custom-config 5.1.0 "cordova-custom-config"
cordova-plugin-android-permissions 1.0.2 "Permissions"
cordova-plugin-app-update 2.0.2 "AppUpdate"
cordova-plugin-app-version 0.1.9 "AppVersion"
cordova-plugin-appcenter-analytics 0.1.9 "App Center Analytics for Cordova"
cordova-plugin-appcenter-crashes 0.1.9 "App Center Crashes for Cordova"
cordova-plugin-appcenter-push 0.1.9 "App Center Push for Cordova"
cordova-plugin-appcenter-shared 0.1.9 "App Center shared code for Cordova"
cordova-plugin-appversion 1.0.0 "App Version"
cordova-plugin-badge 0.8.8 "Badge"
cordova-plugin-camera 4.1.0 "Camera"
cordova-plugin-certificates 0.6.4 "Certificate Plugin"
cordova-plugin-compat 1.2.0 "Compat"
cordova-plugin-console 1.1.0 "Console"
cordova-plugin-customurlscheme 4.4.0 "Custom URL scheme"
cordova-plugin-device 2.0.3 "Device"
cordova-plugin-file 6.0.2 "File"
cordova-plugin-file-opener2 2.2.1 "File Opener2"
cordova-plugin-file-transfer 1.7.1 "File Transfer"
cordova-plugin-geolocation 4.0.2 "Geolocation"
cordova-plugin-inappbrowser 3.2.0 "InAppBrowser"
cordova-plugin-ionic-keyboard 2.2.0 "cordova-plugin-ionic-keyboard"
cordova-plugin-ionic-webview 5.0.0 "cordova-plugin-ionic-webview"
cordova-plugin-local-notification 0.9.0-beta.2 "LocalNotification"
cordova-plugin-media 5.0.3 "Media"
cordova-plugin-opentok 3.4.3 "OpenTokCordovaPlugin"
cordova-plugin-printer 0.7.3 "Printer"
cordova-plugin-request-location-accuracy 2.3.0 "Request Location Accuracy"
cordova-plugin-screen-orientation 3.0.2 "Screen Orientation"
cordova-plugin-speechrecognition 1.1.2 "Speech Recognition"
cordova-plugin-splashscreen 4.1.0 "Splashscreen"
cordova-plugin-statusbar 2.4.3 "StatusBar"
cordova-plugin-video-capture-plus 1.0.0 "VideoCapturePlus"
cordova-plugin-video-editor 1.1.3 "VideoEditor"
cordova-plugin-voippush 0.0.1 "VoipPush"
cordova-plugin-whitelist 1.3.4 "Whitelist"
cordova-plugin-wkwebview-engine 1.2.1 "Cordova WKWebView Engine"
cordova-plugin-x-toast 2.7.2 "Toast"
cordova-support-google-services 1.3.1 "cordova-support-google-services"
cordova.plugins.diagnostic 4.0.12 "Diagnostic"
ionic-plugin-keyboard 2.2.1 "Keyboard"
phonegap-plugin-barcodescanner 7.1.2 "BarcodeScanner"
phonegap-plugin-push 2.2.3 "PushPlugin"
I also did update the config.xml
file to use only WKWebView:
<!-- WKWebView stuff -->
<preference name="WKWebViewOnly" value="true" />
<feature name="CDVWKWebViewEngine">
<param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
I then entered the following commands:
ionic build;
ionic cordova platform add ios;
ionic cordova prepare;
ionic cordova build ios;
I then get the following:
** ARCHIVE FAILED **
The following build commands failed:
Ld /Users/vittoriopassuello-dussault/Library/Developer/Xcode/DerivedData/AccuV-afsbvdwyobxxpmfpiryucawybsqq/Build/Intermediates.noindex/ArchiveIntermediates/AccuV/InstallationBuildProductsLocation/Applications/AccuV.app/AccuV normal arm64
(1 failure)
xcodebuild: Command failed with exit code 65
When I open the project in XCode, and try to build, I get this error:
14 duplicate symbols for architecture arm64
I figured out that this plugin could also use libraries used by the cordova-plugin-ionic-webview hence this issue.
I was wondering if anyone have been able to actually get rid of UIWebView in favour of WKWebView. There is no sign of a cordova ios 6 release date and we are kind of stressing out.
Thank you for your support!
UPDATE:
I installed the following plugin
cordova plugin add cordova-plugin-wkwebview-file-xhr
And now I am getting this error
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_CDVWKProcessPoolFactory", referenced from:
objc-class-ref in CDVWKInAppBrowser.o
1 post - 1 participant