Mik*_*ike 22 xcode ios cordova
我正在Phonegap/Cordova中构建一个应用程序.App目前相当简单,但确实需要网络状态和地理位置插件才能工作.
到目前为止,我已经在Android上开发了应用程序(它只由几个基本的HTML页面和一些JS构成),它一直运行良好.
今天早上我决定确保一切顺利.绝对没有任何意外,事实并非如此.
所以...它似乎是插件的问题.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
]
]
Run Code Online (Sandbox Code Playgroud)
我想这意味着它无法加载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>
Run Code Online (Sandbox Code Playgroud)
我也尝试使用ID作为功能名称(例如org.apache.cordova.geolocation),但是遇到了同样的问题.实际上完全相同的错误.
一切都在Android中完美运行; 在模拟器中,在我的Mac上的Chrome和设备上.
我使用以下版本:
正确的文件位于项目的/ www/plugins /文件夹中:
对于能够帮助解决这个问题的人来说,这是一个兴高采烈 我已经拖过其他问题,但没有运气.
shi*_*11i 60
Mark的解决方案有效但不必要,会导致您丢失对XCode项目的自定义.
为我修好的是:
在XCode中,转到Build Phases - >打开Compiled Sources下拉列表.单击+并添加缺少的插件.m文件,该文件应该在您的插件目录中(但已从编译的源中丢失).
Mar*_*uce 30
对于未来的搜索者 - 对我有用的解决方案来自另一个堆栈溢出响应,在这里:https://stackoverflow.com/a/19501579/1245276
简而言之:1.删除./plugins/ios.json,2.然后删除./platforms/ios,3.然后运行cordova platform add ios
4.然后cordova build
.删除ios.json有助于强制它重新编译插件,至少这是我理解的,它对我有用.
iOS 缺少插件文件本身(.m 和 .h 文件),必须通过调用cordova prepare
或 来复制这些文件phonegap prepare
。似乎没有很好的记录。
归档时间: |
|
查看次数: |
26070 次 |
最近记录: |