Я создаю приложение в Phonegap/Cordova. На данный момент приложение довольно простое, но для работы требуется статус сетевого и плагинов геолокации.
Я разработал приложение до сих пор (он состоял всего из нескольких базовых HTML-страниц и немного JS на данный момент) на Android, и он отлично работает.
Сегодня утром я решил убедиться, что все в порядке с iOS. Совершенно не удивительно, что это не так.
Итак... похоже, проблема с плагинами. XCode выплевывает следующее:
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 = [
"Geolocation1841912763",
"Geolocation",
"getLocation",
[
false,
0
]
]
Я предполагаю, что это означает, что он не может загрузить плагин Geolocation. Я получаю подобное для плагина сетевого подключения.
Ниже мой усеченный config.xml из проекта Phonegap:
<feature name="http://api.phonegap.com/1.0/device" />
<feature name="Geolocation">
<param name="ios-package" value="CDVLocation" />
</feature>
<feature name="NetworkStatus">
<param name="ios-package" value="CDVConnection" />
</feature>
Я также попытался использовать идентификаторы в качестве имени функции (например, org.apache.cordova.geolocation), но получить ту же проблему. Точно такая же ошибка.
Все отлично работает в Android; в симуляторе, в Chrome на моем Mac и на устройстве.
Я использую следующие версии:
- Phonegap 3.1.0-0.15.0
- XCode 5.0
- OSX 10.8.5
- iOS 6.1.3 (iPod Touch)
- iOS Simulator для iOS 7
Правильные файлы находятся в папке/www/plugins/в проекте:
- org.apache.cordova.geolocation
- WWW
- Coordinates.js
- Position.js
- PositionError.js
- geolocation.js
- WWW
- org.apache.cordova.network-информация
- WWW
- Connection.js
- network.js
- WWW
Приподнятое объятие для тех, кто может помочь с этим. Я прошел через другие вопросы, но не повезло.