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

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("调用失败!");

}

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

时间: 2024-08-03 12:11:50

基于PhoneGap3.4框架的iOS插件的实现的相关文章

基于PhoneGap2.9框架的android插件的实现

 PhoneGap平台提供了插件功能,开发者可以将重量级的功能封装在原生代码开发的插件中,并将接口暴露给JavaScript,JavaScript调用插件功能即可完成与本地代码的交互.开发一个简单的android插件主要分以下几步: (1)编写JAVA类,继承CordovaPlugin类,如下: import org.apache.cordova.api.CallbackContext; import org.apache.cordova.api.CordovaPlugin; import

十大免费移动程序测试框架(Android/iOS)

十大免费移动程序测试框架(Android/iOS) 概述:本文将介绍10款免费移动程序测试框架,帮助开发人员简化测试流程,一起来看看吧. Bug是移动开发者最头痛的一大问题.不同于Web应用程序开发,你可以时刻发现并修复Bug,而移动应用程序中的Bug隐藏得很深,直到用户使用时才发现问题.这样一来,不仅有损产品在市场上的名声,而且还会影响销售.所以在产品发布以前,开发人员需要严格测试程序.本文将介绍10款免费移动程序测试框架,帮助开发人员简化测试流程,一起来看看吧. Appium for iOS

基于.NET MVC的高性能IOC插件化架构

基于.NET MVC的高性能IOC插件化架构 最近闲下来,整理了下最近写的代码,先写写架构,后面再分享几个我自己写的插件 最近经过反复对比,IOC框架选择了Autofac,原因很简单,性能出众,这篇博文是我的各大IOC框架的性能测试:http://www.cnblogs.com/gengzhe/p/4370979.html 我先分析下我的系统架构: 这是整体结构图,先简单介绍下:Sun.Core是系统核心,包含了系统必要组件及基础设施的所有接口及必要拓展类.Sun.Framework是整个系统的

unity3D 搞定任意ios插件

原地址:http://www.cnblogs.com/U-tansuo/archive/2012/11/22/unity_ios-plugin.html 说起unity调ios插件,好多淫比较头痛,探索再此给大家献上通用手册. 首先:需要需要一些OC知识,在OC中所有的界面都是基于View显示的,而要使用第三方提供的ios sdk  仅需简单修改源代码,把相应view添加到unity  build出来的xcode工程的根view上即可.也许有人在骂,这不废话,跟没说一样,我坦然接受,因为确实没有

[Android_HTML5]基于PhoneGap(Cordova)框架的HTML5开发

PhoneGap是一套能让你使用HTML5轻松调用本地API接口和发布应用到商店的应用开发平台.官方说有低成本,低开发周期,轻量化等优点,这些咱暂时也没法证明,略过不表.但是有一条跨平台,却是很明显的优势.因为它采用HTML5+JavaScript的模式来开发应用.PhoneGap用JavaScript统一封装了几大平台的本地api(Andriod,IOS,WP8/7,WINRT)等等..这样的话从一个平台移植到另外一个平台只需要把HTML代码跟JS原封不动的拿过去,打包一下就可以了.Phone

基于.net 职责链来实现 插件模式

插件式的例子 QQ电脑管家,有很多工具列表,点一下工具下载后就可以开始使用了 eclipse ,X Server 等等 插件式的好处 插件降低框架的复杂性,把扩展功能从框架中剥离出来 让第三方有机会来扩展程序的功能 思路       公开一个插件接口,如果.DLL或.EXE的代码中有继承这个接口就将其示为插件,并将这些插件放在同一目录.运行程序的时候扫描目   录并通过反射判断.DLL或.EXE中是否存在该接口,若存在,则当作插件加载进来.如下图示   基于.net 职责链来实现 插件模式   

自己写的基于bootstrap风格的弹框插件

自己写的一款基于bootstrap风格的弹框插件,暂时只有确认框.提示框.后续功能扩展.bug修改再更新. ;(function($){ //默认参数 var PARAMS; var DEFAULTPARAMS = { width: 500, title: '提示消息', content: '', okbtn: '确定', cancelbtn: '取消', headerBackground: 'info', vbackdrop: 'static', //默认点击遮罩不会关闭modal vkeyb

jquery:基于js的框架

jquery:基于js的框架 框架: 1.方便使用 2.解决了兼容性的问题 官方网站jQuery.com(2点几版本的不支持IE6.7.8) this 当前环境下指代的对象 闭包(closer) 1.可以让局部变量持续的保存下来 在一个函数(对象)里面定义一个函数,这个内部函数可以访问外面函数的局部变量,而且可以让外面的变量引用,可以持续保存局部变量 一个函数里面必须包含一个函数,而且要引用外面函数的变量,里面的函数必须要返回出去,可以使用相同名称的变量 缺点:对内存耗需比较大,可能会导致内存泄

iOS插件详解之----CLangFormat(代码格式化管理插件)(2016.1.12王彬)

iOS插件详解之----CLangFormat(代码格式化管理)(2016.1.12王彬) 虽然在项目创建和团队组建的初期,我们就把公共约定以及一些规范定下来了,并且由于我们的代码是通过Git来做版本控制的,web上直接就支持Markdown格式的readme文件,可以随时看到最新的版本,但是这种规范只能依靠个人的意识,或者通过代码Review来解决,而且做代码Review的时候,你也不好意思总是写上一堆诸如“这里要加个空格”.“那里要加上换行”的评论吧?如果不管,久而久之,会因为每个人的习惯不