前言
pragma mark -- 01 最基本配置
- 下载友盟SDK导入到工程中,按照说明导入三方库
- 设置授权
AppDelegate中
//设置友盟的AppKey(友盟基础SDK授权)
[UMSocialData setAppKey:@"578c894ae0f55a30f30008d3"];
//设置如果检测到当前用户没有安装我集成的分享平台,直接隐藏平台
//这里面需要隐藏的可以自己加
[UMSocialConfig hiddenNotInstallPlatforms:@[UMShareToQQ, UMShareToQzone, UMShareToWechatSession, UMShareToWechatTimeline]];
//要在Application中调用一下这个方法(添加系统回调)
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
BOOL result = [UMSocialSnsService handleOpenURL:url];
if (result == FALSE) {
//调用其他SDK,例如支付宝SDK等
}
return result;
}
pragma mark -- 02 手动集成微信
- 苹果自带集成的只有新浪微博和腾讯微博,其它的微信,QQ之类的需要自己导入
- 导入微信的Wechat
//设置微信AppId、appSecret,分享url(先用友盟的)( AppDelegate中)
[UMSocialWechatHandler setWXAppId:@"wxd930ea5d5a258f4f" appSecret:@"db426a9829e4b49a0dcac7b4162da6b6" url:@"http://www.umeng.com/social"];
并在info的URL Types中添加 URL Schemes (就是:wxd930ea5d5a258f4f)
pragma mark -- 03 点击分享的写法
- (IBAction)clickShareBtn:(UIButton *)sender {
[UMSocialSnsService presentSnsIconSheetView:self appKey:nil shareText:@"电视通" shareImage:[UIImage imageNamed:@"test_t108"]
shareToSnsNames:@[UMShareToTencent,UMShareToWechatSession,UMShareToQQ] delegate:self];
}
在当前控制器遵守协议方法
@interface ViewController ()<UMSocialUIDelegate>
//实现一个代理方法
-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response
{
if (response.responseCode == UMSResponseCodeSuccess) {
NSLog(@"分享成功");
}
}
pragma mark -- 04 配置info.plist文件的跳转key(配置这个应用才能跳转到分享平台)
步骤:点击info -> open as -> Source Code
在最后的</dict>
</plist>
前面添加 <key>LSApplicationQueriesSchemes</key>(这个直接在友盟那边有的)
//下面是整个key
<key>LSApplicationQueriesSchemes</key>
<array>
<!-- 微信 URL Scheme 白名单-->
<string>wechat</string>
<string>weixin</string>
<!-- 新浪微博 URL Scheme 白名单-->
<string>sinaweibohd</string>
<string>sinaweibo</string>
<string>sinaweibosso</string>
<string>weibosdk</string>
<string>weibosdk2.5</string>
<!-- QQ、Qzone URL Scheme 白名单-->
<string>mqqapi</string>
<string>mqq</string>
<string>mqqOpensdkSSoLogin</string>
<string>mqqconnect</string>
<string>mqqopensdkdataline</string>
<string>mqqopensdkgrouptribeshare</string>
<string>mqqopensdkfriend</string>
<string>mqqopensdkapi</string>
<string>mqqopensdkapiV2</string>
<string>mqqopensdkapiV3</string>
<string>mqzoneopensdk</string>
<string>wtloginmqq</string>
<string>wtloginmqq2</string>
<string>mqqwpa</string>
<string>mqzone</string>
<string>mqzonev2</string>
<string>mqzoneshare</string>
<string>wtloginqzone</string>
<string>mqzonewx</string>
<string>mqzoneopensdkapiV2</string>
<string>mqzoneopensdkapi19</string>
<string>mqzoneopensdkapi</string>
<string>mqqbrowser</string>
<string>mttbrowser</string>
<!-- 支付宝 URL Scheme 白名单-->
<string>alipay</string>
<string>alipayshare</string>
<!-- 人人 URL Scheme 白名单-->
<string>renrenios</string>
<string>renrenapi</string>
<string>renren</string>
<string>renreniphone</string>
<!-- 来往 URL Scheme 白名单-->
<string>laiwangsso</string>
<!-- 易信 URL Scheme 白名单-->
<string>yixin</string>
<string>yixinopenapi</string>
<!-- instagram URL Scheme 白名单-->
<string>instagram</string>
<!-- whatsapp URL Scheme 白名单-->
<string>whatsapp</string>
<!-- line URL Scheme 白名单-->
<string>line</string>
<!-- Facebook URL Scheme 白名单-->
<string>fbapi</string>
<string>fb-messenger-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
</array>
//
然后在info -> open as -> proprety plist 中查看
#完成以上四个步骤就已经可以进行微信分享了,要真机测试分享出来的内容是我自己写的。但是来源会显示友盟自己在微信上申请的应用名
pragma mark -- 05 手动集成新浪微博
1.导入SinaSSO ,要导入一个依赖库:ImageIO
2. AppDelegate中
导入新浪头文件#import "UMSocialSinaSSOHandler.h"
3.//配置新浪
//第一个参数为新浪appkey,第二个参数为新浪secret,第三个参数是新浪微博回调地址,这里必须要和你在新浪微博后台设置的回调地址一致。
[UMSocialSinaSSOHandler openNewSinaSSOWithAppKey:@"3921700954"
secret:@"04b48b094faeb16683c32669824ebdad"
RedirectURL:@"http://sns.whalecloud.com/sina2/callback"];
4.在info中加URL Types
新浪的URL Schemes 是 wb 加上 appkey
wb3921700954
5.要想分享到新浪微博必须加下面的东东
# Build Settings -> 搜索 other link -> 在 Other Linker Flags 中添加 -ObjC (注意O和C是大写的)
pragma mark -- 06 手动集成QQ
1.一样先导入QQ的框架:TencentOpenAPI
2.获得授权
[UMSocialQQHandler setQQWithAppId:@"100424468" appKey:@"c7394704798a158208a74ab60104f0ba" url:@"http://www.umeng.com/social"];
3.配置URL schemes(从分享平台跳转回当前应用)
QQ:需要配置两个
3.1 :“QQ”+腾讯QQ互联应用appId转换成十六进制(不足8位前面补0),例如“QQ05FC5B14”
3.2:"tencent"+腾讯QQ互联应用appId,例如“tencent100424468
pragma mark -- 07 三方登录
1.三方登录就好办了,直接在登录平台按钮的方法里将友盟写的各个平台的代码复制过来就好
2.注意有些三方平台是需要获得登录权限的(一般就是要收费,如微信)
3.我们在打印信息中就可以拿到用户三方平台的昵称,账号,头像等公共信息做一个快捷登录