I played around with the iOS 8 beta and noticed that Cordova/Phonegap is pretty much broken.
For me it is mainly the InAppBrowser that now doesn't show up.
what are your experiences? Do you have a fix or an idea for a solution?
Thanks.
You can fix this with a bit of Javascript in your index.html (or install iOS 8 beta 2, which seems to have fixed the issue): https://gist.github.com/EddyVerbruggen/cd02c73162180793513e#file-ios8-beta-phonegap-fix
// temp fix for iOS8 beta, add it after the reference to cordova.js
// You don't actually require it for ios 8 beta 5
if (navigator.userAgent === undefined) {
navigator.__defineGetter__('userAgent', function() {
return("Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit");
});
}
A plain cordova sample app (e.g. "cordova create test") will load fine.
If you add any cordova plugins you will encounter problems in "iOSExec()", see "platform_www/cordova.js":
bridgeMode = navigator.userAgent.indexOf(' 5_') == -1 ? jsToNativeModes.IFRAME_NAV: jsToNativeModes.XHR_NO_PAYLOAD;
Change that to:
bridgeMode = jsToNativeModes.IFRAME_NAV;
and you can use plugins again. This will break backwards compatibility with iOS 5, but i doubt you will find anybody running iOS 5 and cordova today...
If you are using fastclick.js or backbone.js you will have to make some small modifications, too. Just follow the error messages in Safari's webinspector.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With