phonegap-ios-插件写法:
随着phonegap的不断升级,插件也不断的在变化。
而目前很多插件都还是给予1.X版本的phonegap写的。
所以需要改写插件。
ios 下面的插件写法也有所不同。
1.创建插件文件。
创建baidumap.h
#import <Foundation/Foundation.h>
#import <Cordova/CDVPlugin.h> //这是最新插件需要引入的库文件
@interface baidumap : CDVPlugin
// Instance Method
– (void)map:(CDVInvokedUrlCommand*)command; //这是最新插件的写法
@end
创建baidumap.m
#import “baidumap.h”
#import <Cordova/CDVPlugin.h>
@implementation baidumap
– (void)map:(CDVInvokedUrlCommand *)command{
CDVPluginResult* pluginResult = nil;
NSString* echo = [command.arguments objectAtIndex:0]; //获取冲js文件传过来的值
NSLog(@”Client Information: %@”, echo);
if (echo != nil && [echo length] > 0) {
pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:echo]; //成功回调
} else {
pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR]; //失败回调
}
[self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
}
@end
<plugin name=”baidumap” value=”baidumap” />
3.写js插件部分
var cordovaRef = window.PhoneGap || window.Cordova || window.cordova;
function success () {
//Generic callback provided if the Cordova call to the native Objective-C should be successful
//Note: Probably don’t want to do anything here… but provided nevertheless
}function fail () {
//Generic callback provided if the Cordova call to the native Objective-C should fail}
var baidumap = {
map: function(success, fail, str) {
cordova.exec(success, fail, “baidumap”, “map”, [str]);
}};
4.引入插件道你的index文件。
并执行以下方法:
function map(str){
baidumap.map(
function(echoValue){ alert(echoValue == “home”);
alert(echoValue);
},
function(err) { alert(err);},str);
}<button type=”button” onClick=”map(‘home’)” >插件测试</button>
转载请注明:夜阑小雨 » phonegap-ios-插件写法