I am building an app in Phonegap/Cordova. App is fairly simple at the moment, but does require the network status and geolocation plugins to work.
I've developed the app so far (it's made up of just a few basic HTML pages and a bit of JS at the moment) on Android and it has been working fine.
This morning I decided to make sure all was well with iOS. To absolutely no surprise at all, it isn't.
So... it appears to be a problem with the plugins. XCode spits out the following:
CDVPlugin class CDVLocation (pluginName: Geolocation) does not exist.
2013-10-18 11:24:29.437 Eye Cab[589:907] ERROR: Plugin 'Geolocation' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml.
2013-10-18 11:24:29.438 Eye Cab[589:907] -[CDVCommandQueue executePending] [Line 117] FAILED pluginJSON = [
<feature name="http://api.phonegap.com/1.0/device" />
<param name="ios-package" value="CDVLocation" />
<param name="ios-package" value="CDVConnection" />
iOS was missing the plugin files themselves (.m and .h files), which must be copied by calling
cordova prepare or
phonegap prepare. Not very well documented it seems.