`
shuai1234
  • 浏览: 972779 次
  • 性别: Icon_minigender_1
  • 来自: 山西
社区版块
存档分类
最新评论

Phonegap for IOS Plugin插件开发

 
阅读更多

1.新建Phonegap工程MyPlugin

环境

xcode4.5.1

phonegap2.1.0

2.在Plugin文件夹下创建实现Plugin子类

 

[plain] view plaincopyprint?
 
  1. //  
  2. //  MyPlugin.h  
  3. //  MyPGPlugin  
  4. //  
  5. //  Created by kllmctrl on 12-10-29.  
  6. //  
  7. //  
  8.   
  9. #import <Cordova/CDV.h>  
  10.   
  11. @interface MyPlugin : CDVPlugin  
  12.   
  13. - (void) add:(CDVInvokedUrlCommand*)command;  
  14.   
  15. @end  

 

[plain] view plaincopyprint?
 
  1. #import "MyPlugin.h"  
  2. #import <Cordova/CDV.h>  
  3.   
  4. @implementation MyPlugin  
  5.   
  6. - (void) add:(CDVInvokedUrlCommand*)command{  
  7.     CDVPluginResult* pluginResult = nil;  
  8.     NSString* javaScript = nil;  
  9.       
  10.     @try {  
  11.           
  12.         NSString* echo = [command.arguments objectAtIndex:0];  
  13.         NSString* echo2 = [command.arguments objectAtIndex:1];  
  14.           
  15.         if (echo != nil  
  16.             && [echo length] > 0  
  17.             && echo2 != nil  
  18.             && [echo2 length] > 0) {  
  19.               
  20.             /**  
  21.              *相加字符串  
  22.              */  
  23.             NSString *addResult = [NSString stringWithFormat:@"%@%@", echo, echo2];  
  24.             pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:addResult];  
  25.             javaScript = [pluginResult toSuccessCallbackString:command.callbackId];  
  26.               
  27.               
  28.         } else {  
  29.             pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR];  
  30.             javaScript = [pluginResult toErrorCallbackString:command.callbackId];  
  31.         }  
  32.     } @catch (NSException* exception) {  
  33.         pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_JSON_EXCEPTION messageAsString:[exception reason]];  
  34.         javaScript = [pluginResult toErrorCallbackString:command.callbackId];  
  35.     }  
  36.       
  37.     [self writeJavascript:javaScript];  
  38. }  
  39.   
  40. @end  

 

3.在www->js文件夹下创建实现 MyPlugin.js

 

[plain] view plaincopyprint?
 
  1. var MyPlugin = {  
  2. add: function(args,args2,addSuc,addFaild) {  
  3.     cordova.exec(addSuc, addFaild, "MyPlugin", "add", [args,args2]);  
  4. }  
  5. };  



 

4.修改index.html

 

  1. <!DOCTYPE html>  
  2. <!--  
  3.  Licensed to the Apache Software Foundation (ASF) under one  
  4.  or more contributor license agreements.  See the NOTICE file  
  5.  distributed with this work for additional information  
  6.  regarding copyright ownership.  The ASF licenses this file  
  7.  to you under the Apache License, Version 2.0 (the  
  8.  "License"); you may not use this file except in compliance  
  9.  with the License.  You may obtain a copy of the License at  
  10.    
  11.  http://www.apache.org/licenses/LICENSE-2.0  
  12.    
  13.  Unless required by applicable law or agreed to in writing,  
  14.  software distributed under the License is distributed on an  
  15.  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY  
  16.  KIND, either express or implied.  See the License for the  
  17.  specific language governing permissions and limitations  
  18.  under the License.  
  19.  -->  
  20. <html>  
  21.     <head>  
  22.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />  
  23.         <meta name="format-detection" content="telephone=no" />  
  24.         <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />  
  25.         <link rel="stylesheet" type="text/css" href="css/index.css" />  
  26.         <title>kllmctrl</title>  
  27.     </head>  
  28.     <body>  
  29.         <div class="app">  
  30.             <h1>Apache Cordova kllmctrl</h1>  
  31.             <div id="deviceready" class="blink">  
  32.                 <p class="event listening">Connecting to Device</p>  
  33.                 <p class="event received">Device is Ready</p>  
  34.             </div>  
  35.         </div>  
  36.         <script type="text/javascript" src="cordova-2.1.0.js"></script>  
  37.         <script type="text/javascript" src="js/MyPlugin.js"></script>  
  38.         <script type="text/javascript">  
  39.         document.addEventListener("deviceready", onDeviceReady, false);  
  40.         function onDeviceReady() {  
  41.             /**  
  42.              * 加载成功调用js  
  43.              */  
  44.             MyPlugin.add("My","Plugin",addSuc,addFiald);  
  45.         }  
  46.         </script>  
  47.           
  48.         <script type="text/javascript">  
  49.             /**  
  50.              * js回调函数  
  51.              */  
  52.             function addSuc(result) {  
  53.                 console.log('addSuc='+result);  
  54.             }  
  55.             function addFiald() {  
  56.                 console.log('addFiald');  
  57.             }  
  58.             </script>  
  59.     </body>  
  60. </html>  


5.配置Cordova.plist

 

在Plugins建MyPlugin=MyPlugin

 

6.run

 

phonegap插件下载地址:https://github.com/phonegap/phonegap-plugins/

分享到:
评论

相关推荐

    PhoneGap iOS 自定义插件

    PhoneGap iOS 自定义插件是移动应用开发中的一个重要概念,它允许开发者利用JavaScript与原生iOS平台进行交互,实现更高效、更丰富的功能。PhoneGap是一个开源框架,它基于Apache Cordova,允许开发者使用HTML、CSS...

    cordova phonegap toast ios插件

    "ios插件"则强调这是针对iOS平台开发的,可能需要与Cordova或PhoneGap的iOS平台配置相结合使用。 【文件名称列表】:Toast-PhoneGap-Plugin-master 这个文件名通常代表了项目的源代码仓库主分支,可能包含了以下...

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

    在"自定义plugin插件实现phonegap与Android交互"这个主题中,我们主要关注的是如何通过编写自定义插件来打通JavaScript和Android之间的通信壁垒。在PhoneGap中,Plugin是连接Web层和Native层的桥梁,它们是用Java...

    cordova扫码插件phonegap-plugin-barcodescanner,修复了在ios10上面的内存泄漏导致的闪退bug

    修复后的`phonegap-plugin-barcodescanner`插件应该在iOS 10及更高版本上运行更加稳定,减少了因内存泄漏引发的应用崩溃,提高了用户体验。开发者在集成这个修复后的插件时,可以放心地在iOS设备上实现扫码功能,而...

    PhoneGap Eclipse PlugIn for Android

    PhoneGap Eclipse PlugIn for Android是一款专为Android开发者设计的插件,它允许开发人员使用Eclipse IDE进行PhoneGap应用的构建和调试。PhoneGap是一种开源框架,它使开发者能够使用HTML、CSS和JavaScript来创建跨...

    Phonegap-Plugin样例

    这个"Phonegap-Plugin样例"压缩包显然包含了用于学习和实践PhoneGap插件开发的资源,这对于初学者或者希望提升PhoneGap技能的人来说非常有价值。 PhoneGap的核心理念是利用Web技术开发移动应用,然后通过它的SDK将...

    jpush-phonegap-plugin-master

    6. **多平台兼容性**:作为 PhoneGap 插件,"jpush-phonegap-plugin-master" 应该同时支持 Android 和 iOS 平台。这意味着在不同平台上,可能需要进行特定的适配和错误处理。 7. **调试与测试**:在开发过程中,...

    phonegap屏幕亮度调整插件

    PhoneGap屏幕亮度调整插件是一款用于在Android和iOS平台上调整设备屏幕亮度的工具,它允许开发者通过JavaScript接口来控制设备的显示亮度,从而提供更好的用户体验。PhoneGap是一种跨平台的移动应用开发框架,它允许...

    jpush-phonegap-plugin

    1. **安装插件**:在PhoneGap项目中,通过命令行工具或配置文件(config.xml)添加jpush-phonegap-plugin插件。 2. **配置APPID和APPKEY**:获取极光推送后台分配的APPID和APPKEY,将它们配置到插件中,以连接JPush...

    百度移动广告联盟phonegap/cordova插件

    百度移动广告联盟phonegap/cordova插件,百度ssp广告phonegap插件,支持cordova和phonegap打包的ios和android应用,简单好用,只需要几行js就能在phonegap和cordova应用里面接入百度广告

    phonegap扫描二维码插件

    phonegap扫描二位码插件,顺便给大家推荐phonegap扫描二维码的教程http://blog.csdn.net/u014646984/article/details/25655725,这篇博客写得比较详细,按照步骤可以搭建出扫描二维码的android程序

    phonegap2.9.0插件开发

    PhoneGap 2.9.0 版本虽然较旧,但仍然对理解基础的插件开发机制有着重要的意义。 **PhoneGap 插件开发** PhoneGap 插件是连接JavaScript世界和原生移动平台API的关键组件。它们允许开发者通过JavaScript调用设备的...

    PhoneGap IOS 端源码

    理解并掌握以上知识点,你就能有效地开发和维护PhoneGap iOS应用。对于初学者,可以从环境配置开始,逐步深入到源码阅读和修改,最终实现自己的移动应用。而对于有经验的开发者,这个源码可以作为学习PhoneGap与iOS...

    phonegap打开文档插件

    PhoneGap打开文档插件是移动应用开发中的一个重要组件,它允许开发者在PhoneGap应用程序中方便地查看和打开各种类型的文档。PhoneGap是一个基于HTML、CSS和JavaScript的框架,用于构建跨平台的原生移动应用。它利用...

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

    在“PhoneGap-iOS:适用于 iOS 的 PhoneGap 插件应用程序”这个项目中,重点在于如何通过PhoneGap为iOS应用程序添加自定义功能或扩展。PhoneGap的核心在于它的插件系统,这些插件作为桥梁连接了Web应用程序与设备的...

    phonegap开发示例服务器端开发

    4. 安装ADT Plugin:这是Eclipse的一个插件,用于增强Eclipse对Android开发的支持。 5. 安装PhoneGap:PhoneGap的安装通常涉及到下载PhoneGap库,然后在Eclipse中配置相应的构建路径。 在搭建好环境后,开发者可以...

    PhoneGap2.9.1插件开发 Demo下载

    本文将详细讲解PhoneGap2.9.1中的插件开发,以及如何基于官方示例创建一个简单的插件,适合对PhoneGap感兴趣的初学者学习。 1. **插件的概念** 插件是PhoneGap的核心组成部分,用于桥接JavaScript和设备原生API。...

    phonegap local-notifications插件应用实例含(android、ios、windows)

    在PhoneGap应用中,`cordova-plugin-local-notifications`是一个非常重要的插件,它使得开发者能够实现本地通知功能,这些通知可以在用户不直接与应用交互时触发,比如当应用在后台运行或者被关闭时。本实例将详细...

    phoneGap插件应用

    在iOS开发中,PhoneGap插件(plugin)是用来连接Objective-C或Swift(iOS原生代码)和JavaScript之间的桥梁。这种交互机制使得开发者可以利用JavaScript的便利性来调用iOS的API,实现复杂的原生功能。PhoneGap插件的...

    cordova-barcodescanner:从phonegap-plugin-barcodescanner派生并更新IOS上的UI

    PhoneGap插件条形码扫描仪 =============================== 适用于Cordova / PhoneGap的跨平台BarcodeScanner。 遵循,因此可与一起。 安装 这需要phonegap 7.1.0+(当前稳定的v8.0.0) phonegap plugin add ...

Global site tag (gtag.js) - Google Analytics