Cordova iOS and iOS 8
iOS 8 was just released – and Cordova supports it fully, but it is still using the existing UIWebView iOS browser component (more on the new iOS 8 WKWebView later).
The main issues were in the core plugins, which have since been updated in the Cordova Plugin Registry. Update your plugins by removing and re-adding them.
If you use any of these plugins below, you will need to update these plugins and re-release your app for iOS 8, since your existing app built pre-iOS 8 may be broken in iOS 8 without these fixes.
These plugins have been updated for iOS 8:
This plugin had a fix to use the new Geolocation permissions in iOS 8. Users are now prompted whenever you require a geolocation – this is for the JPEG format EXIF data. The plugin has a new preference as well, called
CameraUsesGeolocation which defaults to
false. Previously you had no control over this, it was always
This plugin had a fix to use the new Geolocation permissions in iOS 8. Users are now prompted whenever you require a geolocation.
This plugin had a fix for pickContact — iOS 8 has added new delegate functions to handle people picking, without the fix this feature was broken in iOS 8.
Landscape mode for the StatusBar plugin was broken in iOS 8, and the updated plugin fixes it. This is because on iOS 8, screen size is now orientation dependent — previously it was based off portrait mode. The
StatusBarBackgroundColor preference is now omitted as well when you install the plugin, leaving it effectively transparent (was #000000 or black). You will have to now set it explicitly.
For whatever reason you are using this, realize that it is broken currently (same reason as the StatusBar landscape fix). If your plugin is not using this macro, don’t worry about it. It has already been fixed for 3.7.0.
If you are using the Web Inspector, you might see “deprecated attempt to access property” errors that are harmless. It has already been fixed for 3.7.0.
Unfortunately there is a serious bug in WKWebView where it can’t load file:// urls, so it has hampered our efforts. This functionality was working in iOS 8 betas 1 to 3 on the device (it always works in the iOS 8 Simulator), but broken after that. I’m not sure what the ETA for the bug fix is, but it is in Apple’s radar (literally!).
In the meantime, we have some ideas, like running a local webserver to load the local assets. More info and discussion here.
For all the issues related to Cordova iOS and iOS 8, including our work in getting WKWebView support, check out this task list.