zoukankan      html  css  js  c++  java
  • 基于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: " + result);
    }
    function nativePluginErrorHandler (error) {
        if(error == "NO"){
            alert("调用失败!");
        }

  • 相关阅读:
    re模块详解
    PythonS12-day4学习笔记
    Python-day3作业-haproxy配置文件管理脚本
    Python——Day3知识点——文件操作
    Python-Day3知识点——深浅拷贝、函数基本定义、内置函数
    collections系列
    set集合
    服务器三大体系SMP、NUMA、MPP介绍
    CPU指令集
    PS与TOP详解
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/6739297.html
Copyright © 2011-2022 走看看