Been banging my head on this for 2 days.
I have upgraded from Cordova 4.0 to 6.4. I have the WkWebView web view option enabled. When enabled, device ready fails to fire and the JS app does not start. The splash screen is shown and the app is running, but no activity from device ready. I have the same outcome on Cordova 5.0 as well. I am on iOS 10.3.1. Switching to UIWebView and it works fine. Good on Android as well.
I have confirmed my content security policy looks good. Verified my access property in my config.xml. Tried everything I could find on google - still no dice. I noticed that between 4.0 and 5/6.4 that the telerik wkwebview was swapped for the default cordova webview but not sure what else I need to do to trigger it to work.
This is a production app and I need to update the Facebook plugin to the latest - which requires upgrading to 5.0+.
Any suggestions?
Here are some relevant excerpts:
Index.html meta tags:
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" /><meta name="format-detection" content="telephone=no" /><meta http-equiv="Content-Security-Policy" content="default-src * gap://ready file:; img-src * data:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://api.stripe.com; media-src *; font-src *">(I've also tried with just gap: and no gap://ready)
Config.xml (after build):
<?xml version='1.0' encoding='utf-8'?><widget version="2.0.0" xmlns="http://www.w3.org/ns/widgets"> <content src="http://localhost:0" /> <access launch-external="yes" origin="*" /> <preference name="AllowInlineMediaPlayback" value="false" /> <preference name="BackupWebStorage" value="cloud" /> <preference name="DisallowOverscroll" value="true" /> <preference name="EnableViewportScale" value="false" /> <preference name="KeyboardDisplayRequiresUserAction" value="false" /> <preference name="MediaPlaybackRequiresUserAction" value="false" /> <preference name="SuppressesIncrementalRendering" value="false" /> <preference name="GapBetweenPages" value="0" /> <preference name="PageLength" value="0" /> <preference name="PaginationBreakingMode" value="page" /> <preference name="PaginationMode" value="unpaginated" /> <preference name="AutoHideSplashScreen" value="false" /> <preference name="SplashScreenDelay" value="3000" /> <preference name="FadeSplashScreen" value="true" /> <preference name="FadeSplashScreenDuration" value=".5" /> <preference name="ShowSplashScreenSpinner" value="false" /> <feature name="LocalStorage"> <param name="ios-package" value="CDVLocalStorage" /> </feature> <feature name="FacebookConnectPlugin"> <param name="ios-package" value="FacebookConnectPlugin" /> <param name="onload" value="true" /> </feature> <plugin name="FacebookConnectPlugin" value="FacebookConnectPlugin" /> <access origin="https://m.facebook.com" /> <access origin="https://graph.facebook.com" /> <access origin="https://api.facebook.com" /> <access origin="https://*.fbcdn.net" /> <access origin="https://*.akamaihd.net" /> <feature name="Notification"> <param name="ios-package" value="CDVNotification" /> </feature> <feature name="LiveSync"> <param name="ios-package" value="TLKLiveSyncPlugin" /> </feature> <feature name="BarcodeScanner"> <param name="ios-package" value="CDVBarcodeScanner" /> </feature> <feature name="Device"> <param name="ios-package" value="CDVDevice" /> </feature> <feature name="Globalization"> <param name="ios-package" value="CDVGlobalization" /> </feature> <feature name="PushPlugin"> <param name="ios-package" value="PushPlugin" /> </feature> <feature name="Battery"> <param name="ios-package" value="CDVBattery" /> </feature> <feature name="Camera"> <param name="ios-package" value="CDVCamera" /> </feature> <preference name="CameraUsesGeolocation" value="false" /> <feature name="Console"> <param name="ios-package" value="CDVLogger" /> </feature> <feature name="Contacts"> <param name="ios-package" value="CDVContacts" /> </feature> <feature name="Accelerometer"> <param name="ios-package" value="CDVAccelerometer" /> </feature> <feature name="Compass"> <param name="ios-package" value="CDVCompass" /> </feature> <feature name="File"> <param name="ios-package" value="CDVFile" /> <param name="onload" value="true" /> </feature> <feature name="FileTransfer"> <param name="ios-package" value="CDVFileTransfer" /> </feature> <feature name="Geolocation"> <param name="ios-package" value="CDVLocation" /> </feature> <feature name="Media"> <param name="ios-package" value="CDVSound" /> </feature> <feature name="Capture"> <param name="ios-package" value="CDVCapture" /> </feature> <feature name="NetworkStatus"> <param name="ios-package" value="CDVConnection" /> </feature> <feature name="SplashScreen"> <param name="ios-package" value="CDVSplashScreen" /> <param name="onload" value="true" /> </feature> <feature name="StatusBar"> <param name="ios-package" value="CDVStatusBar" /> <param name="onload" value="true" /> </feature> <preference name="StatusBarOverlaysWebView" value="false" /> <preference name="StatusBarStyle" value="lightcontent" /> <feature name="Vibration"> <param name="ios-package" value="CDVVibration" /> </feature> <feature name="CordovaLocalWebServer"> <param name="ios-package" value="CDVLocalWebServer" /> <param name="onload" value="true" /> </feature> <preference name="CordovaLocalWebServerStartOnSimulator" value="true" /> <access origin="http://localhost" /> <allow-navigation href="http://localhost:*/*" /> <feature name="CDVWKWebViewEngine"> <param name="ios-package" value="CDVWKWebViewEngine" /> </feature> <preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" /> <feature name="YoikScreenOrientation"> <param name="ios-package" value="YoikScreenOrientation" /> </feature> <feature name="SocialSharing"> <param name="ios-package" value="SocialSharing" /> <param name="onload" value="true" /> </feature> <feature name="AppVersion"> <param name="ios-package" value="AppVersion" /> </feature> <feature name="NetworkActivityIndicator"> <param name="ios-package" value="NetworkActivityIndicator" /> </feature> <feature name="EmailComposer"> <param name="ios-package" value="APPEmailComposer" /> </feature> <feature name="InAppBrowser"> <param name="ios-package" value="CDVInAppBrowser" /> </feature> <feature name="Keyboard"> <param name="ios-package" onload="true" value="IonicKeyboard" /> </feature></widget>Info.plist (after build):
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict><key>BuildMachineOSBuild</key><string>15G31</string><key>CFBundleDevelopmentRegion</key><string>English</string><key>CFBundleDisplayName</key><string>ItsOnMe DEV 1.6.0</string><key>CFBundleExecutable</key><string>Cordova500</string><key>CFBundleIconFile</key><string>icon.png</string><key>CFBundleIcons</key><dict><key>CFBundlePrimaryIcon</key><dict><key>CFBundleIconFiles</key><array><string>icon@2x.png</string><string>icon.png</string><string>Icon-Small.png</string><string>Icon-Small@2x.png</string><string>icon-72.png</string><string>icon-72@2x.png</string><string>Icon-Small-50.png</string><string>Icon-Small-50@2x.png</string><string>icon-40.png</string><string>icon-40@2x.png</string><string>icon-60.png</string><string>icon-60@2x.png</string><string>icon-76.png</string><string>icon-76@2x.png</string><string>icon-83.5@2x.png</string></array><key>UIPrerenderedIcon</key><true/></dict></dict><key>CFBundleIdentifier</key><string>com.drinkboard.DrinkboardDev</string><key>CFBundleInfoDictionaryVersion</key><string>6.0</string><key>CFBundleName</key><string>IOM.Mobile</string><key>CFBundlePackageType</key><string>APPL</string><key>CFBundleShortVersionString</key><string>1.6.0</string><key>CFBundleSignature</key><string>????</string><key>CFBundleSupportedPlatforms</key><array><string>iPhoneOS</string></array><key>CFBundleURLTypes</key><array><dict><key>CFBundleURLSchemes</key><array><string>fb1010660852318410</string></array></dict></array><key>CFBundleVersion</key><string>2017.629.310</string><key>DTCompiler</key><string>com.apple.compilers.llvm.clang.1_0</string><key>DTPlatformBuild</key><string>13E230</string><key>DTPlatformName</key><string>iphoneos</string><key>DTPlatformVersion</key><string>9.3</string><key>DTSDKBuild</key><string>13E230</string><key>DTSDKName</key><string>iphoneos9.3</string><key>DTXcode</key><string>0731</string><key>DTXcodeBuild</key><string>7D1014</string><key>FacebookAppID</key><string>XXXX</string><key>FacebookDisplayName</key><string>XXXX</string><key>Host</key><string>https://platform.telerik.com/appbuilder<;/string><key>IceniumLiveSyncEnabled</key><true/><key>LSApplicationQueriesSchemes</key><array><string>fbapi</string><string>fb-messenger-api</string><string>fbauth2</string><string>fbshareextension</string><string>mailto</string></array><key>LSRequiresIPhoneOS</key><true/><key>LiveSyncToken</key><string>/U8EVyKNlqG47WFHTwqiXVe/DcgebwjS26IgM5pOoxChQI4VAoHWy+pM1P0zvJLAXuN7XoosRaCTuT2hvEZqESHHi1Cyf5iaU0Qvw8UCtQYhLA/Mr+4Rmske5M+lpnAT</string><key>MinimumOSVersion</key><string>8.4</string><key>NSAppTransportSecurity</key><dict><key>NSAllowsArbitraryLoads</key><true/><key>NSExceptionDomains</key><dict><key>akamaihd.net</key><dict><key>NSIncludesSubdomains</key><true/><key>NSThirdPartyExceptionRequiresForwardSecrecy</key><false/></dict><key>facebook.com</key><dict><key>NSIncludesSubdomains</key><true/><key>NSThirdPartyExceptionRequiresForwardSecrecy</key><false/></dict><key>fbcdn.net</key><dict><key>NSIncludesSubdomains</key><true/><key>NSThirdPartyExceptionRequiresForwardSecrecy</key><false/></dict></dict></dict><key>NSLocationWhenInUseUsageDescription</key><string></string><key>UIDeviceFamily</key><array><integer>1</integer><integer>2</integer></array><key>UIFileSharingEnabled</key><true/><key>UIRequiresFullScreen</key><true/><key>UIStatusBarStyle</key><string>UIStatusBarStyleDefault</string><key>UISupportedInterfaceOrientations</key><array><string>UIInterfaceOrientationPortrait</string><string>UIInterfaceOrientationPortraitUpsideDown</string><string>UIInterfaceOrientationLandscapeLeft</string><string>UIInterfaceOrientationLandscapeRight</string></array><key>UISupportedInterfaceOrientations~ipad</key><array><string>UIInterfaceOrientationPortrait</string><string>UIInterfaceOrientationPortraitUpsideDown</string><string>UIInterfaceOrientationLandscapeLeft</string><string>UIInterfaceOrientationLandscapeRight</string></array><key>configuration</key><string>debug</string></dict></plist>