说明:本插件仅针对个人当前项目,参照支付宝支付插件类进行开发,不保证对任何项目都具有通用性,代码仅供参考.
找到项目中的config.xml文件,在相似位置插入如下代码:
<feature name="UM_SharePlugin"> <param name="ios-package" value="UM_SharePlugin"/> </feature>
具体插件类代码如下:
// // UM_SharePlugin.h // WDZJ // // Created by Scarecrow on 15/4/23. // // #import <Foundation/Foundation.h> #import <Cordova/CDVPlugin.h> @interface UM_SharePlugin : CDVPlugin - (void) print:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options; @end
// // UM_SharePlugin.m // WDZJ // // Created by Scarecrow on 15/4/23. // // #import "UM_SharePlugin.h" @implementation UM_SharePlugin - (void) print:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options { NSLog(@"UM_SharePlugin is called!!!"); [[NSNotificationCenter defaultCenter] postNotificationName:@"UM_SharePluginCalled" object:options]; } @end
由于cordova项目是基于一个webview的,自动生成的控制器为MainViewController.因为在插件类中无法使用actionSheet弹出分享底框,所有需要在MainViewController.m中接收UM_SharePluginCalled通知,具体代码如下:
在viewDidLoad方法中增加一行代码:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(umcalled:) name:@"UM_SharePluginCalled" object:nil];
并增加下面两个方法(测试数据来源与友盟官方demo):
- (void)umcalled:(NSNotification *)note { NSString *shareText = @"友盟社会化组件可以让移动应用快速具备社会化分享、登录、评论、喜欢等功能,并提供实时、全面的社会化数据统计分析服务。 http://www.umeng.com/social"; //分享内嵌文字 UIImage *shareImage = [UIImage imageNamed:@"UMS_social_demo"]; //分享内嵌图片 //调用快速分享接口 [UMSocialSnsService presentSnsIconSheetView:self appKey:@"5211818556240bc9ee01db2f" shareText:shareText shareImage:shareImage shareToSnsNames:@[UMShareToSina,UMShareToQzone,UMShareToWechatSession,UMShareToWechatTimeline,UMShareToQQ] delegate:self]; } - (void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response { NSLog(@"didFinishGetUMSocialDataInViewController with response is %@",response); //根据`responseCode`得到发送结果,如果分享成功 if(response.responseCode == UMSResponseCodeSuccess) { //得到分享到的微博平台名 NSLog(@"share to sns name is %@",[[response.data allKeys] objectAtIndex:0]); } }
之后可以在js文件要使用分享的地方调用:
cordova.exec(function(){},function(){},"UM_SharePlugin","print",obj);
即可实现cordova调用友盟分享功能.
-----------------------
转载请保留出处:http://blog.csdn.net/qq329735967
时间: 2024-10-25 20:13:30