`
lizaochengwen
  • 浏览: 663105 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

phoneGap开发IOS,JS调用IOS方法/phoneGap插件开发

 
阅读更多
前沿

废话不说phoneGap是什么不多介绍,官方网站: http://phonegap.com/
之前写过phoneGap开发Android插件教程: http://my.oschina.net/jgy/blog/145385
开始代码

这个是目录结构



在Plugins下新建文件(在Plugins上右键-new file选择Objective-c class)输入名字(CDVMyPlugin)  next……

这世间你会发现在Plugins下面有两个文件,分别是:CDVMyPlugin.h和CDVMyPlugin.m


CDVMyPlugin.h内容:



#import <Foundation/Foundation.h>

#import <Cordova/CDVPlugin.h>

 

@interface CDVMyPlugin : CDVPlugin

     

    @property (nonatomic, copy) NSString* callbackID;

     

    // Instance Method

 

- (void) print:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options;

 

@end


CDVMyPlugin.m内容



#import "CDVMyPlugin.h"

 

@implementation CDVMyPlugin


@synthesize callbackID;

 
 

 -(void)print:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options
    {

         

        // 这是classid,在下面的PluginResult进行数据的返回时,将会用到它

        self.callbackID = [arguments pop];

         

        // 得到Javascript端发送过来的字符串

        NSString *stringObtainedFromJavascript = [arguments objectAtIndex:0];

         

        // 创建我们要返回给js端的字符串

        NSMutableString *stringToReturn = [NSMutableString stringWithString: @"我是返回的:"];

         

        [stringToReturn appendString: stringObtainedFromJavascript];

         

        // Create Plugin Result

        CDVPluginResult* pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString: stringToReturn];

         

        NSLog(@ "%@",stringToReturn);

         

        // 检查发送过来的字符串是否等于"HelloWorld",如果不等,就以PluginResult的Error形式返回

        if ([stringObtainedFromJavascript isEqualToString:@"HelloWorld"] == YES){

            // Call the javascript success function

            [self writeJavascript: [pluginResult toSuccessCallbackString:self.callbackID]];

        } else{

            // Call the javascript error function

            [self writeJavascript: [pluginResult toErrorCallbackString:self.callbackID]];

        }

    }



JS封装通用调用方法



//调用IOS方法插件

var MyIOSPlugin = {

/**

* 调用IOS方法

* @param method 要调用IOS插件的方法名

* @param parameter 参数[数组]

* @param success 成功回调

* @param fail 失败回调

* @returns {*}

*/

nativeFunction: function(method, parameter, success, fail) {

return Cordova.exec(success, fail, "MyPlugin", method, parameter);

}

};


JS调用


MyIOSPlugin.nativeFunction("print",['HelloWorld'],

function(result) {

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

},

function(error) {

// alert("Error: \r\n"+error);

}

);

配置插件<KEY-VALUE>

<feature name="MyPlugin">

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

</feature>

OVER!

最后:以上是本人测试成功后以及经验分享,欢迎吐槽交流!嘎嘎~~~~

原文链接:http://my.oschina.net/jgy/blog/175643
分享到:
评论

相关推荐

    Phonegap调用ios原生代码插件:cordova-ios.js

    Phonegap项目中,使用js脚本调用ios中OC代码,需要使用Phonegap提供的一个脚本插件:cordova.js

    PhoneGap iOS 自定义插件

    JavaScript接口暴露给应用程序,使得在Web层可以调用插件方法,而原生代码则负责与iOS系统进行交互,执行实际的功能操作。 1. **创建自定义插件** - 首先,在PhoneGap项目中创建一个新的目录,如`src/ios/Plugin...

    phonegap-ios调用短信插件使用文档

    - 使用以下 JavaScript 方法来调用短信插件: - `showSMSComposer`:这个方法接受两个参数,第一个是收件人的电话号码(多个号码用逗号分隔),第二个是短信内容。例如,`window.plugins.smsComposer....

    cordova phonegap toast ios插件

    2. **plugin.xml**:Cordova/PhoneGap插件的配置文件,定义了插件的元数据、依赖项和插件方法。 3. **src** 文件夹:存放原生代码,如iOS平台的Objective-C或Swift代码,实现与JavaScript的桥接。 4. **www** 文件夹...

    PhoneGap IOS 与 JS 相互调用例子

    在PHONEGAP新手开发插件的时候,总会遇到一些NATIVE调用JS的代码问题,这里给出了一个OBJECTIVE-C 与 JS通过UIWEBVIEW进行相互调用的例子,给定了同步调用与异步调用的方法更多详细的部分请参考KAITIREN博客;

    phonegap开发插件合集

    这个"phonegap开发插件合集"是一个包含了多种PhoneGap插件的资源包,覆盖了Android和iOS等多个平台,为开发者提供更丰富的功能扩展。 首先,我们来看看"短信收发插件"。在移动应用中,发送和接收短信是一项常见的...

    Phonegap iOS 的web 应用插件demo

    总结来说,PhoneGap iOS的Web应用插件Demo是一个学习和实践PhoneGap插件开发的实例,通过PANativeBridgeDemo,开发者可以了解到如何创建、使用和管理自定义插件,以便在Web应用中充分利用iOS设备的功能。这样的实践...

    自定义plugin插件实现phonegap与Android交互

    在PhoneGap中,Plugin是连接Web层和Native层的桥梁,它们是用Java(对于Android)或Objective-C/Swift(对于iOS)编写的,并且通过Cordova/PhoneGap的Bridge机制与JavaScript进行通信。 首先,创建一个自定义Plugin...

    iOS phonegap/Cordova实现打开通讯录添加联系人插件

    Cordova的通讯录插件是项目的关键部分,它允许JavaScript代码访问iOS的联系人框架。这个插件通常包含以下功能: - 获取联系人列表 - 搜索特定联系人 - 创建新的联系人 - 更新已存在的联系人 - 删除联系人 3. ...

    phonegap开发示例服务器端开发

    PhoneGap通过封装和扩展各个平台的WebView,使得JavaScript可以直接调用设备功能,从而实现了混合应用的开发。 在开发PhoneGap应用时,首先需要搭建开发环境。这包括以下几个步骤: 1. 安装Java SDK:Java SDK是...

    phonegap2.9.0插件开发

    5. **调用插件**:在你的JavaScript代码中,你可以通过`window.plugins`对象调用插件方法,如`window.plugins.myPlugin.someFunction()`。 6. **编译和测试**:最后,确保在每个平台上正确地编译和运行你的应用,...

    phonegap ios工程事例

    PhoneGap iOS工程实例是将HTML、CSS和JavaScript应用于iOS应用开发的一种方法,它允许开发者使用熟悉的Web技术构建原生移动应用程序。PhoneGap是Adobe提供的一个开源框架,它基于Cordova,利用WebView(在iOS上是...

    PhoneGap/Cordova的支付宝Android插件

    这个插件的目的是桥接JavaScript和Android原生代码,使PhoneGap/Cordova应用能够调用支付宝SDK,实现支付流程。 集成这个插件的过程大致如下: 1. **安装插件**:首先,开发者需要在项目的配置文件(config.xml)...

    phoneGap插件应用

    这种交互机制使得开发者可以利用JavaScript的便利性来调用iOS的API,实现复杂的原生功能。PhoneGap插件的使用大大降低了开发多平台应用的复杂度,提高了开发效率。 创建PhoneGap插件的过程通常包括以下几个步骤: ...

    入门必看:用PhoneGap开发手机应用程序(android,iPhone等)

    PhoneGap 开发的主要优势在于它的跨平台性,覆盖了包括 Android、iOS、BlackBerry 在内的多个操作系统,并且还在不断扩展支持更多的平台。对于那些不熟悉 Objective-C 或 Java 的 Web 开发者来说,PhoneGap 提供了一...

    PhoneGap-iOS:适用于 iOS 的 PhoneGap 插件应用程序

    5. **编写JavaScript代码**:在项目的HTML和JavaScript文件中,可以调用PhoneGap提供的API接口,这些接口会触发插件中的原生代码执行。例如,如果Kandy插件提供了发起通话的功能,开发者可以在JavaScript中调用相应...

    PhoneGap常用插件

    PhoneGap的吸引力在于它提供了一个统一的开发环境,使得开发者可以使用他们熟悉的Web技术来开发适用于iOS、Android、Windows Phone等多个平台的应用。 在"PhoneGap常用插件"这个主题中,我们将探讨PhoneGap生态系统...

    PhoneGap2.9.1插件开发 Demo下载

    当JavaScript调用特定的插件方法时,PhoneGap会通过CordovaWebView将请求转发到相应的设备API,实现对硬件功能的访问,如摄像头、GPS、加速度计等。 2. **PhoneGap2.9.1插件结构** - `config.xml`:配置文件,声明...

    IOS应用源码之phonegap原生代码与js交互.zip

    这个"IOS应用源码之phonegap原生代码与js交互.zip"文件包含了一个示例,展示了如何在iOS应用中通过PhoneGap实现JavaScript和原生代码之间的交互。 首先,理解PhoneGap的工作原理至关重要。PhoneGap提供了一层名为...

Global site tag (gtag.js) - Google Analytics