友盟分享设置
首先导入UMSocialSDK,这个可以去友盟官网下载
http://dev.umeng.com/social/android/android-update?spm=0.0.0.0.K0Bchb
下载好之后,将下载好的SKD复制到你的工程,然后添加静态库
Security.framework
libiconv.dylib
SystemConfiguration.framework
CoreGraphics.Framework
libsqlite3.dylib
CoreTelephony.framework
libstdc++.dylib
libz.dylib
再去AppDelegate.m中将友盟分享的头文件导入,或许不会联想,需要手动打出来。
#import "AppDelegate.h"
#import "UMSocial.h"
#import "UMSocialQQhandler.h"
#import "UMSocialWechatHandler.h"
- (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions{
//注册友盟的appkey
[UMSocialData setAppKey:@"575f5d0f67e58e4eee0002f9"];
//设置qq的appkey和appid,这两个参数在腾讯开放平台申请获得,申请是,个人开发者需要上传手持身份证正反面,公司开发者需要上传公司的合法营业执照照片,提交后一般在7个工作日之内审核出结果
//URL在实际项目开发中后台会给你一个url,如果你的应用在appstore上线成功的话,页可以填写在AppStore的下载链接,如果填为nil,默认为友盟的官方网站
[UMSocialQQHandler setQQWithAppId:@"1104908293" appKey:@"MnGtpPN5AiB6MNvj" url:nil];
//设置微信的appkey和APPsecret,者两个参数是在微信开放平台申请得到的,申请时需要上传应用所对应的appicon,大小分别为2828,108108,必须为png格式,大小为300k一下,提交后,一般在3~4个工作日出结果。
[UMSocialWechatHandler setWXAppId:@"wx12b249bcbf753e87" appSecret:@"0a9cd00c48ee47a9b23119086bcd3b30" url:nil];
//需要隐藏设备上未安装的客户端,当进行分享的时候,首先友盟的sdk会判断当前设备上是否安装有审定的第三方平台,如果没有,则隐藏对应的图标,如果不做这一步,审核不通过,主要针对QQ和微信
[UMSocialConfig hiddenNotInstallPlatforms:@[UMShareToQQ,UMShareToQzone,UMShareToWechatSession,UMShareToWechatTimeline]];
return YES;
}
到这里,友盟的设置算是设置完了,再下面就是使用了
友盟提供了两种显示分享平台的模式,一个是UItableView模式,一种是类似UIactionsheet的模式;
弹出一个分享列表的UITableViewController
@param controller 在该controller弹出分享列表的UIActionSheet
@param appKey 友盟appKey
@param shareText 分享编辑页面的内嵌文字
@param shareImage 可以传入`UIImage`,或者`NSData`类型,分享内嵌 图片,用户可以在编辑页面删除
@param snsNames 你要分享到的sns平台类型,该NSArray值是`UMSocialSnsPlatformManager.h`定义的平台名的字符串常量,有UMShareToSina,UMShareToTencent,UMShareToRenren,UMShareToDouban,UMShareToQzone,UMShareToEmail,UMShareToSms等
@param delegate 实现分享完成后的回调对象,如果不关注分享完成的状态,可以设为nil
+(void)presentSnsController:(UIViewController *)controller
appKey:(NSString *)appKey
shareText:(NSString *)shareText
shareImage:(id)shareImage
shareToSnsNames:(NSArray *)snsNames
delegate:(id <UMSocialUIDelegate>)delegate;
弹出一个分享列表的类似iOS6的UIActivityViewController控件
@param controller 在该controller弹出分享列表的UIActionSheet
@param appKey 友盟appKey
@param shareText 分享编辑页面的内嵌文字
@param shareImage 分享内嵌图片,用户可以在编辑页面删除
@param snsNames 你要分享到的sns平台类型,该NSArray值是`UMSocialSnsPlatformManager.h`定义的平台名的字符串常量,有UMShareToSina,UMShareToTencent,UMShareToRenren,UMShareToDouban,UMShareToQzone,UMShareToEmail,UMShareToSms等
@param delegate 实现分享完成后的回调对象,如果不关注分享完成的状态,可以设为nil
+(void)presentSnsIconSheetView:(UIViewController *)controller
appKey:(NSString *)appKey
shareText:(NSString *)shareText
shareImage:(id)shareImage
shareToSnsNames:(NSArray *)snsNames
delegate:(id <UMSocialUIDelegate>)delegate;
在需要使用的地方调用就行了。