转载请注明出处:http://blog.csdn.net/ouq68/article/details/42736637
目录
一. 引言
二. Cordova在Native端的配置
三. Cordova在Web端的配置
四.配置流程
五.error&&warning解决办法(不定期更新)
一.引言
1.在CocoaPods中使用CordovaPlugin前请建议先熟悉如何在Cordova工程中加入Plugin,这样可以了解cordova的运行原理。
2.系统需配置好cocoaPods和cordova的环境。
CocoaPods: http://code4app.com/article/cocoapods-install-usage
Cordova: http://cordova.apache.org/docs/en/4.0.0//guide_cli_index.md.html#The%20Command-Line%20Interface
3.(important)在移植webapp到CocoaPods里面前请先让webapp在Cordova项目中运行成功,这样可以简化很多流程。
二.Cordova在Native端的配置
(1)Terminal中输入:$ pod search cordovaplugin
这里会显示CocoaPods提供的CordovaPlugin插件,如图:
(2)在FringeKit中的Podfile中加入你要使用的CordovaPlugin,以CordovaPlugin-device为例,如图:
(3)Terminal中输入:$ cd /(Podfile所在目录)
(4)Terminal中输入:$ pod install
如图:
至此,Native端配置完成。
三.Cordova在Web端的配置
Warning:请先在Cordova项目中把你要移植的webapp运行成功
(1)项目中并没有Cordova
直接从一个可运行的CordovaPlugin项目中把config.xml和/www文件直接移植过来,移植时注意:Addedfolders选项必须为Create folders references
Web端配置完成。
(2)项目中已包含Cordova
1.config.xml
在config中声明你要使用的plugin的类并给这个类加上一个标识。以Device为例,
<feature name="Device">
<param name="ios-package"value="CDVDevice"/>
</feature>
CDVDevice是要调用的Native的类
Device是让Web端识别CDVDevice的标识,该标识在4中的device.js中会用到。
2.cordova_plugins.js
以Device为例:
cordova.define('cordova/plugin_list',function(require, exports, module) {
module.exports = [
{
"file":"plugins/org.apache.cordova.device/www/device.js",
"id": "org.apache.cordova.device.device",
"clobbers": [
"device"
]
}
];
在module.exports加入device的配置,这些配置可以在可运行的Cordova项目中的cordova_plugin.js中移植过来
3.引入plugin.js
从可运行的CordovaPlugin项目中把/plugins/org.apache.cordova.device/www/device.js直接拷贝过来(建议直接把org.apache.cordova.xxxx文件夹直接拷贝过来,这样方便操作)
4.index.html (以使用Cordova Plugin-Device为例)
1)引入device.js
<script type="text/javascript"charset="utf-8"src=“device.js的目录/device.js”></script>
2) 调用device.js中的用device方法
alert("device.Model is:" +device.model+"\n device.cordova is:"+device.cordova+"\n device.uuid is:" + device.uuid+"\ndevice.version is:" +device.version+"\n device.platform is:"+device.platform);
至此,Web端配置完成。
now,youcan run the cordovaplugin project in cocoa pods!
五.配置流程
六.error&&warning&&解决办法(不定期更新)
(1)Started backup to iCloud! Please be careful.
Your application mightbe rejected by Apple if you store too much data.
For more informationplease read "iOS Data Storage Guidelines" at:
https://developer.apple.com/icloud/documentation/data-storage/
To disable web storagebackup to iCloud, set the BackupWebStorage preference to "local" inthe Cordova config.xml file
solution:在config.xml中把BackupWebStorage的属性cloud改成local
(2)Unlimitedaccess to network resources
solution:在config.xml中把<access orgin=“*”>加上一个url白名单
详细:http://my.oschina.net/tingzi/blog/81067
(3)ERROR:Plugin 'xxxxx' not found, or is nota CDVPlugin. Check your plugin mapping in config.xml.
solution:检查config.xml,plugin.js中的exec()里的标识及类名是否有误,如果无误,应该是工程找不到pods里面的CordovaPlugin类,请在Targets-》Build Phases-》Link Binary With Libraries中加入libPods-CordovaPlugin-xxxx.a库
最后,附上一个写好的Demo,神秘小链接:http://download.csdn.net/detail/ouq68/8363185
git:https://github.com/ohjuju/CordovaPluginInPODSSampluDemo