PhoneGap插件开发示例(iOS)

PhoneGap插件开发的简单步骤:
1 新建一个基于PhoneGap的工程,如果还没有PhoneGap SDK请去官网下载安装,我目前使用的是PhoneGap1.3.0
2 在Plugins组下新建一个PGPlugin类的子类,命名为MyPGPlugin

MyPGPlugin.h

#ifdef PHONEGAP_FRAMEWORK
#import <PhoneGap/PGPlugin.h>
#else
#import "PGPlugin.h"
#endif
@interface MyPGPlugin : PGPlugin {
}
- (void)addStr:(NSMutableArray*)arguments withDict:(NSDictionary*)options;
@end


MyPGPlugin.m

    #import "MyPGPlugin.h"
    @implementation MyPGPlugin
    - (void)addStr:(NSMutableArray*)arguments withDict:(NSDictionary*)options
    {
        NSLog(@"%@", arguments);
        NSString *callbackId = [arguments pop];
        NSString *result = [NSString stringWithFormat:@"%@%@", [arguments objectAtIndex:0], [arguments objectAtIndex:1]];
        PluginResult *pr = [PluginResult resultWithStatus:PGCommandStatus_OK messageAsString:result];
        [self writeJavascript:[pr toSuccessCallbackString:callbackId]];
    }
    @end


3 在www文件夹下新建一个js文件,这里我也命名为MyPGPlugin

  /**
    * 构造方法
    */
    function MyPGPlugin() {
    };
    /**
    * 字符串相加
    *
    * @param str1, str2
    */
    MyPGPlugin.prototype.addStr = function(successCallback, failureCallback, str1, str2) {
        PhoneGap.exec(successCallback, failureCallback, "MyPGPlugin", "addStr", [str1, str2]);
    };
    /**
    * 加载MyPlugin对象
    */
    PhoneGap.addConstructor(function() {
        if(!window.plugins)
        {
        window.plugins = {};
        }
        window.plugins.myPGPlugin = new MyPGPlugin();
    });


4 修改PhoneGap.plist,展开Plugins,按”+”号新加一列.添加key MyPGPlugin和value MyPGPlugin
5 使用,在index.html中添加如下代码:
导入js文件
<script type="text/javascript" charset="utf-8" src="MyPGPlugin.js"></script>
定义js函数,添加在onDeviceReady函数定义后

            function addStr(){
            var str1 = "str1";
            var str2 = "str2";
            window.plugins.myPGPlugin.addStr(successCallback, failureCallback, str1, str2);
        }
        //成功时回调的方法
        function successCallback(data){
            alert("result:"+ data);
        }
        //失败时返回的方法  
        function failureCallback(data){
            alert("error:"+ data);
        }


添加一个button,测试一下
<button type="button" οnclick='addStr()'>MyPGPlugin Test</button>
6 编译运行。
参考链接:
http://www.adobe.com/devnet/html5/articles/extending-phonegap-with-native-plugins-for-ios.html
http://prostorys.blog.51cto.com/1522778/843699
http://wiki.phonegap.com/w/page/36753496/How%20to%20Create%20a%20PhoneGap%20Plugin%20for%20iOS

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值