iOS集成友盟第三方登录
来源:互联网 发布:数据库置疑修复工具 编辑:程序博客网 时间:2024/05/16 11:36
可以参考demo来做,demo是可以跑起来的,如果用demo,只需要把key和ID换掉就好了,点击下载demo
注册APPKey
去友盟注册新AppKey拿到注册的AppKey
导入SDK
导入友盟提供的SDK,其目录结构如下
只需要将UMSocial导入项目中,接下来配置SDK
配置
在Build Settings
->Other Linker Flags
加入-ObjC
如图所示
设置Web支持HTTP
因为iOS目前不支持HTTP,所以在web登录中还需要配置HTTP,配置方法如下:
在Info-plist
文件中添加App Transport Security Settings
其类型为Dictionary
,然后在App Transport Security Settings
中添加Allow Arbitrary Loads
,其类型为BOOL,将其修改为YES
配置成功如下:
添加依赖库
友盟依赖库
- libsqlite3.tbd
- CoreGraphics.framework
微信依赖库
- SystemConfiguration.framework
- CoreTelephony.framework
- libsqlite3.tbd
- libc++.tbd
- libz.tbd
- QQ依赖库
- SystemConfiguration.framework
- libc++.tbd
- 微博依赖库
- SystemConfiguration.framework
- CoreTelephony.framework
- ImageIO.framework
- libsqlite3.tbd
- libz.tbd
导入的库如图:
设置白名单&Schemes
- 设置SSO白名单
配置白名单小技巧,右击Info.plist文件,选择文本编辑器打开,将下面代码直接copy进去,没必要为这些东西浪费时间
<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>mqqopensdkapiV4</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></array>
- 配置Schemes
来到Info
->URL Types
配置Schemes
配置如图所示:
使用
注册平台
导入SDK头文件#import <UMSocialCore/UMSocialCore.h>
在AppDelegate.m文件中配置,在application:application didFinishLaunchingWithOptions:
方法中添加
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
方法中注册友盟的AppKey
//设置AppKey,是在友盟注册之后给到的key [[UMSocialManager defaultManager] setUmSocialAppkey:UMKEY];
然后注册各个平台的AppKey和AppID
// setPlaform是要注册的平台 /* 微信 */ [[UMSocialManager defaultManager] setPlaform:UMSocialPlatformType_WechatSession appKey:@"wxdc1e388c3822c80b" appSecret:@"3baf1193c85774b3fd9d18447d76cab0" redirectURL:@"http://mobile.umeng.com/social"]; /*QQ*/ [[UMSocialManager defaultManager] setPlaform:UMSocialPlatformType_QQ appKey:@"1106152098" appSecret:@"KexLaOiU6VVzxgQb" redirectURL:@"http://mobile.umeng.com/social"]; /* 注** redirectURL必须要和微博设置的回调一致 */ /* 新浪 */ [[UMSocialManager defaultManager] setPlaform:UMSocialPlatformType_Sina appKey:@"1234957746" appSecret:@"b3564b393bfcb42672d8e84f084ea550" redirectURL:@"https://sns.whalecloud.com/sina2/callback"];
设置回调
在AppDelegate.m中添加以下方法设置回调
// 支持所有iOS系统版本回调- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{BOOL result = [[UMSocialManager defaultManager] handleOpenURL:url sourceApplication:sourceApplication annotation:annotation];if (!result) {// 其他如支付等SDK的回调}return result;}
使用
导入SDK头文件#import <UMSocialCore/UMSocialCore.h>
* QQ授权登录
- (void)QQLogin{ /** 设置QQ授权登录 @param platformType 平台 @param result 授权成功 @param error 授权失败 */ [[UMSocialManager defaultManager] getUserInfoWithPlatform:UMSocialPlatformType_QQ currentViewController:nil completion:^(id result, NSError *error) { if (error) { } else { UMSocialUserInfoResponse *resp = result; // 授权信息 NSLog(@"QQ uid: %@", resp.uid); NSLog(@"QQ openid: %@", resp.openid); NSLog(@"QQ accessToken: %@", resp.accessToken); NSLog(@"QQ expiration: %@", resp.expiration); // 用户信息 NSLog(@"QQ name: %@", resp.name); NSLog(@"QQ iconurl: %@", resp.iconurl); NSLog(@"QQ gender: %@", resp.gender); // 第三方平台SDK源数据 NSLog(@"QQ originalResponse: %@", resp.originalResponse); } }];}
- 微信登录
/** 微信授权登录 */- (void)WeChatLogin{ [[UMSocialManager defaultManager] getUserInfoWithPlatform:UMSocialPlatformType_WechatSession currentViewController:nil completion:^(id result, NSError *error) { if (error) { } else { UMSocialUserInfoResponse *resp = result; // 授权信息 NSLog(@"Wechat uid: %@", resp.uid); NSLog(@"Wechat openid: %@", resp.openid); NSLog(@"Wechat accessToken: %@", resp.accessToken); NSLog(@"Wechat refreshToken: %@", resp.refreshToken); NSLog(@"Wechat expiration: %@", resp.expiration); // 用户信息 NSLog(@"Wechat name: %@", resp.name); NSLog(@"Wechat iconurl: %@", resp.iconurl); NSLog(@"Wechat gender: %@", resp.gender); // 第三方平台SDK源数据 NSLog(@"Wechat originalResponse: %@", resp.originalResponse); } }];}
- 新浪微博登录
/** 新浪授权登录 */- (void)SinaLogin{ [[UMSocialManager defaultManager] getUserInfoWithPlatform:UMSocialPlatformType_Sina currentViewController:self completion:^(id result, NSError *error) { UMSocialUserInfoResponse *resp = result; // 第三方登录数据(为空表示平台未提供) // 授权数据 NSLog(@" uid: %@", resp.uid); NSLog(@" openid: %@", resp.openid); NSLog(@" accessToken: %@", resp.accessToken); NSLog(@" refreshToken: %@", resp.refreshToken); NSLog(@" expiration: %@", resp.expiration); // 用户数据 NSLog(@" name: %@", resp.name); NSLog(@" iconurl: %@", resp.iconurl); NSLog(@" gender: %@", resp.gender); // 第三方平台SDK原始数据 NSLog(@" originalResponse: %@", resp.originalResponse); }];}
0 1
- iOS集成友盟第三方登录
- (0013)iOS 开发之集成友盟第三方登录
- 友盟第三方登录集成
- 友盟集成QQ第三方登录
- iOS集成第三方登录的使用
- iOS集成ShareSKD第三方登录
- iOS集成友盟第三方分享
- iOS友盟第三方登录分享
- iOS 友盟第三方登录
- iOS集成第三方登录(SSO授权登录<无需密码>
- android 集成友盟第三方登录的问题
- 友盟第三方登录分享集成参考
- 友盟集成第三方登录--微信、QQ实现
- React Native 集成分享第三方登录功能分享第三方登录模块开发(iOS)
- iOS移动端第三方登录集成实现
- IOS项目集成ShareSDK实现第三方登录
- ShareSDK集成第三方登录
- 第三方登录集成步骤
- JVM(十二) 创建用户自定义的类加载器
- Qt设置horizontal line 和vertical line 的颜色
- caffe 视觉层
- shell架构,环境变量
- P1307数字反转
- iOS集成友盟第三方登录
- python基础
- ARM程序状态寄存器
- 一些常用的第三方框架之xUtils
- 在(Eclipse)Myeclipse中创建Maven项目
- 商品展示
- 关于差分放大器INA143的使用
- bzoj4885: [Lydsy2017年5月月赛]长方体
- 一个错误搞我郁闷好几天,真是醉了