phonegap4.0在xcode环境中的安装与插件demo的使用手顺
※安装phonegap
$ sudo npm install -g cordova
※创建phonegap项目
$ cordova create hello com.example.hello "HelloWorld"
目录名 id 项目名
$ cd hello
$ cordova platform add ios #使一个phonegap项目成为xcode项目(需要联网)
$ cordova prepare #or "cordova build" 编译phonegap项目
※开发第一个插件
1.用xcode打开 hello\platforms\ios\HelloWorld.xcodeproj
2.在Plugins的group下创建plugin文件(Echo.h和Echo.m)内容如下
/********* Echo.h Cordova Plugin Header *******/
#import <Cordova/CDV.h>
@interface Echo : CDVPlugin
- (void)myPluginMethod:(CDVInvokedUrlCommand*)command;
@end
/********* Echo.m Cordova Plugin Implementation *******/
#import "Echo.h"
#import <Cordova/CDV.h>
@implementation Echo
- (void)myPluginMethod:(CDVInvokedUrlCommand*)command
{
//开启一个background的进程来执行插件
[self.commandDelegate runInBackground:^{
CDVPluginResult* pluginResult = nil;
NSString* myarg = [command.arguments objectAtIndex:0];
NSLog(@"-----------------------%@",myarg);
if (myarg != nil) {
//myarg为从js取得的数据,在这里作为字符串再传回给js的回调函数,参数有很多种类
pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:myarg];
} else {
pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:@"Arg was null"];
}
[self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
}];
}
@end
@end
3.在Staging的group下找到index.html并插入如下js代码用于调用刚才写的插件
<script type="text/javascript">
function addStr()
{
cordova.exec(function(result) {alert("Success: \r\n"+result);},
function(error) {alert("Error: \r\n"+error);},
"Echo",
"myPluginMethod",
['HelloWorld']
);
};
</script>
4.在index.html下插入一个按钮用于触发这个js
<button type="button" οnclick='addStr()'>MyPGPlugin Test</button>
6.在Staging的group下找到config.xml并插入如下代码
<feature name="Echo">
<param name="ios-package" value="Echo" />
</feature>
6.运行simulator或测试机。
※安装phonegap
$ sudo npm install -g cordova
※创建phonegap项目
$ cordova create hello com.example.hello "HelloWorld"
目录名 id 项目名
$ cd hello
$ cordova platform add ios #使一个phonegap项目成为xcode项目(需要联网)
$ cordova prepare #or "cordova build" 编译phonegap项目
※开发第一个插件
1.用xcode打开 hello\platforms\ios\HelloWorld.xcodeproj
2.在Plugins的group下创建plugin文件(Echo.h和Echo.m)内容如下
/********* Echo.h Cordova Plugin Header *******/
#import <Cordova/CDV.h>
@interface Echo : CDVPlugin
- (void)myPluginMethod:(CDVInvokedUrlCommand*)command;
@end
/********* Echo.m Cordova Plugin Implementation *******/
#import "Echo.h"
#import <Cordova/CDV.h>
@implementation Echo
- (void)myPluginMethod:(CDVInvokedUrlCommand*)command
{
//开启一个background的进程来执行插件
[self.commandDelegate runInBackground:^{
CDVPluginResult* pluginResult = nil;
NSString* myarg = [command.arguments objectAtIndex:0];
NSLog(@"-----------------------%@",myarg);
if (myarg != nil) {
//myarg为从js取得的数据,在这里作为字符串再传回给js的回调函数,参数有很多种类
pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:myarg];
} else {
pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:@"Arg was null"];
}
[self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
}];
}
@end
@end
3.在Staging的group下找到index.html并插入如下js代码用于调用刚才写的插件
<script type="text/javascript">
function addStr()
{
cordova.exec(function(result) {alert("Success: \r\n"+result);},
function(error) {alert("Error: \r\n"+error);},
"Echo",
"myPluginMethod",
['HelloWorld']
);
};
</script>
4.在index.html下插入一个按钮用于触发这个js
<button type="button" οnclick='addStr()'>MyPGPlugin Test</button>
6.在Staging的group下找到config.xml并插入如下代码
<feature name="Echo">
<param name="ios-package" value="Echo" />
</feature>
6.运行simulator或测试机。