目录[-]
PhoneGap开发IOS,JS调用IOS方法/phoneGap插件开发——FakeMr
前沿
废话不说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>
相关推荐
Phonegap项目中,使用js脚本调用ios中OC代码,需要使用Phonegap提供的一个脚本插件:cordova.js
JavaScript接口暴露给应用程序,使得在Web层可以调用插件方法,而原生代码则负责与iOS系统进行交互,执行实际的功能操作。 1. **创建自定义插件** - 首先,在PhoneGap项目中创建一个新的目录,如`src/ios/Plugin...
- 使用以下 JavaScript 方法来调用短信插件: - `showSMSComposer`:这个方法接受两个参数,第一个是收件人的电话号码(多个号码用逗号分隔),第二个是短信内容。例如,`window.plugins.smsComposer....
2. **plugin.xml**:Cordova/PhoneGap插件的配置文件,定义了插件的元数据、依赖项和插件方法。 3. **src** 文件夹:存放原生代码,如iOS平台的Objective-C或Swift代码,实现与JavaScript的桥接。 4. **www** 文件夹...
在PHONEGAP新手开发插件的时候,总会遇到一些NATIVE调用JS的代码问题,这里给出了一个OBJECTIVE-C 与 JS通过UIWEBVIEW进行相互调用的例子,给定了同步调用与异步调用的方法更多详细的部分请参考KAITIREN博客;
这个"phonegap开发插件合集"是一个包含了多种PhoneGap插件的资源包,覆盖了Android和iOS等多个平台,为开发者提供更丰富的功能扩展。 首先,我们来看看"短信收发插件"。在移动应用中,发送和接收短信是一项常见的...
总结来说,PhoneGap iOS的Web应用插件Demo是一个学习和实践PhoneGap插件开发的实例,通过PANativeBridgeDemo,开发者可以了解到如何创建、使用和管理自定义插件,以便在Web应用中充分利用iOS设备的功能。这样的实践...
在PhoneGap中,Plugin是连接Web层和Native层的桥梁,它们是用Java(对于Android)或Objective-C/Swift(对于iOS)编写的,并且通过Cordova/PhoneGap的Bridge机制与JavaScript进行通信。 首先,创建一个自定义Plugin...
Cordova的通讯录插件是项目的关键部分,它允许JavaScript代码访问iOS的联系人框架。这个插件通常包含以下功能: - 获取联系人列表 - 搜索特定联系人 - 创建新的联系人 - 更新已存在的联系人 - 删除联系人 3. ...
5. **调用插件**:在你的JavaScript代码中,你可以通过`window.plugins`对象调用插件方法,如`window.plugins.myPlugin.someFunction()`。 6. **编译和测试**:最后,确保在每个平台上正确地编译和运行你的应用,...
PhoneGap通过封装和扩展各个平台的WebView,使得JavaScript可以直接调用设备功能,从而实现了混合应用的开发。 在开发PhoneGap应用时,首先需要搭建开发环境。这包括以下几个步骤: 1. 安装Java SDK:Java SDK是...
PhoneGap iOS工程实例是将HTML、CSS和JavaScript应用于iOS应用开发的一种方法,它允许开发者使用熟悉的Web技术构建原生移动应用程序。PhoneGap是Adobe提供的一个开源框架,它基于Cordova,利用WebView(在iOS上是...
这个插件的目的是桥接JavaScript和Android原生代码,使PhoneGap/Cordova应用能够调用支付宝SDK,实现支付流程。 集成这个插件的过程大致如下: 1. **安装插件**:首先,开发者需要在项目的配置文件(config.xml)...
这种交互机制使得开发者可以利用JavaScript的便利性来调用iOS的API,实现复杂的原生功能。PhoneGap插件的使用大大降低了开发多平台应用的复杂度,提高了开发效率。 创建PhoneGap插件的过程通常包括以下几个步骤: ...
5. **编写JavaScript代码**:在项目的HTML和JavaScript文件中,可以调用PhoneGap提供的API接口,这些接口会触发插件中的原生代码执行。例如,如果Kandy插件提供了发起通话的功能,开发者可以在JavaScript中调用相应...
这个"IOS应用源码之phonegap原生代码与js交互.zip"文件包含了一个示例,展示了如何在iOS应用中通过PhoneGap实现JavaScript和原生代码之间的交互。 首先,理解PhoneGap的工作原理至关重要。PhoneGap提供了一层名为...
PhoneGap的吸引力在于它提供了一个统一的开发环境,使得开发者可以使用他们熟悉的Web技术来开发适用于iOS、Android、Windows Phone等多个平台的应用。 在"PhoneGap常用插件"这个主题中,我们将探讨PhoneGap生态系统...
PhoneGap 开发的主要优势在于它的跨平台性,覆盖了包括 Android、iOS、BlackBerry 在内的多个操作系统,并且还在不断扩展支持更多的平台。对于那些不熟悉 Objective-C 或 Java 的 Web 开发者来说,PhoneGap 提供了一...
PhoneGap打开文档插件是移动应用开发中的一个重要组件,它允许开发者在PhoneGap应用程序中方便地查看和打开各种类型的文档。PhoneGap是一个基于HTML、CSS和JavaScript的框架,用于构建跨平台的原生移动应用。它利用...