我正在 Phonegap/Cordova 中构建一个应用程序。应用程序目前相当简单,但确实需要网络状态和地理定位插件才能工作。
到目前为止,我已经在 Android 上开发了该应用程序(目前它仅由几个基本的 HTML 页面和一些 JS 组成)并且运行良好。
今天早上我决定确保 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 插件。对于网络连接插件,我得到了类似的东西。
以下是 Phonegap 项目中截断的 config.xml:
<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>
我也尝试使用 ID 作为功能名称(例如 org.apache.cordova.geolocation),但遇到了同样的问题。事实上完全相同的错误。
一切都在 Android 中完美运行;在模拟器中,在我的 Mac 上的 Chrome 和设备上。
我正在使用以下版本:
- Phonegap 3.1.0-0.15.0
- XCode 5.0
- OSX 10.8.5
- iOS 6.1.3 (iPod Touch)
- 适用于 iOS 7 的 iOS 模拟器
正确的文件位于项目的 /www/plugins/ 文件夹中:
- org.apache.cordova.geolocation
- 万维网
- 坐标.js
- 位置.js
- PositionError.js
- 地理位置.js
- 万维网
- org.apache.cordova.network-信息
- 万维网
- 连接.js
- 网络.js
- 万维网
对于任何可以帮助解决此问题的人来说,这是一个兴高采烈的拥抱。我已经浏览了其他问题,但没有运气。