您的位置:首页 > 移动开发 > IOS开发

基于PhoneGap3.4框架的iOS插件的实现

2014-06-16 01:53 357 查看
Phonegap 提供了iOS 设备的基础特性接口来供HTML页面调用,但是这些基础接口不能满足我们的一些特殊需求,所以有时候我们需要开发插件来扩展其功能。基于PhoneGap3.4框架的iOS插件开发,主要分以下几个步骤:

1)搭建PhoneGap3.4的iOS开发环境,搭建步骤参考此文章

2)编写.h头文件,示例代码如下:

#import <Cordova/CDVPlugin.h>

@interface CDVLogin : CDVPlugin

- (void)login:(CDVInvokedUrlCommand*)command;

@end

3)编写.m源代码文件,示例代码如下:

#import "CDVLogin.h"

@implementation CDVLogin

- (void)login:(CDVInvokedUrlCommand*)command{

NSString *echo = @"NIL";

//插件返回值

CDVPluginResult *pluginResult = nil;

//获取传递过来的参数

NSString *param = [command.arguments objectAtIndex:0];

Boolean loginStatus = [self loginSystem:param];

if(loginStatus){

echo = @"YES";

//成功时插件的返回值

pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:echo];

}else{

echo = @"NO";

//失败时插件的返回值

pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:echo];

}

[self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];



}

-(Boolean) loginSystem:(NSString *)para

{

return YES;

}

@end

4)在config.xml 里注册插件,如下:

<feature name="Login">

<param name="ios-package" value="CDVLogin"/>

</feature>
5)js调用,如下:

var CustomPlugin = {

callNativeMethod: function (success, fail, param) {

var exec = cordova.require("cordova/exec");

return exec(success, fail,"Login","login",[param]);

}

};

function callNativePlugin( param ) {

CustomPlugin.callNativeMethod( nativePluginResultHandler, nativePluginErrorHandler, param );

}

function nativePluginResultHandler (result) {

// alert("SUCCESS: \r\n" + result);

}

function nativePluginErrorHandler (error) {

if(error == "NO"){

alert("调用失败!");

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: