iOS友盟6.3.0集成微博登录教程

2017-03-01  本文已影响0人  SimpLe丶yo

第一步:去友盟注册账号,创建应用并获取appkey,下载友盟6.3.0版本。

第二步:去新浪微博开放平台创建移动应用,获取app的appkey和appsecret。

第三步:新建项目,将下载的SDK拖到项目中,如下图所示:

第四步:开始配置环境:导入库文件

在打开info.plist,配置:

schemes 填写微博申请的appkey

在info.plist文件中添加:

在builder setting 中设置 :

配置完成之后,开始代码操作。

首先在 AppDelegate中写入 #import <UMSocialCore/UMSocialCore.h>

- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions{

添加下面代码:

// umeng appkey

[[UMSocialManagerdefaultManager]setUmSocialAppkey:appkey];

// 新浪的appkey 和appsecret 还有回调域http://sns.whalecloud.com/sina2/callback

[[UMSocialManagerdefaultManager]setPlaform:UMSocialPlatformType_Sina appKey: sinaappkey  appSecret: sinaappsecret redirectURL:@"http://sns.whalecloud.com/sina2/callback"];

}

在最下面的空白处添加

//#define __IPHONE_10_0100000

#if __IPHONE_OS_VERSION_MAX_ALLOWED >100000

- (BOOL)application:(UIApplication*)app openURL:(NSURL*)url options:(NSDictionary *)options

{

//6.3的新的API调用,是为了兼容国外平台(例如:新版facebookSDK,VK等)的调用[如果用6.2的api调用会没有回调],对国内平台没有影响。

BOOLresult = [[UMSocialManagerdefaultManager]handleOpenURL:urloptions:options];

if(!result) {

//其他如支付等SDK的回调

}

returnresult;

}

#endif

- (BOOL)application:(UIApplication*)application openURL:(NSURL*)url sourceApplication:(NSString*)sourceApplication annotation:(id)annotation

{

//6.3的新的API调用,是为了兼容国外平台(例如:新版facebookSDK,VK等)的调用[如果用6.2的api调用会没有回调],对国内平台没有影响

BOOLresult = [[UMSocialManagerdefaultManager]handleOpenURL:urlsourceApplication:sourceApplicationannotation:annotation];

if(!result) {

//其他如支付等SDK的回调

}

returnresult;

}

- (BOOL)application:(UIApplication*)application handleOpenURL:(NSURL*)url

{

BOOLresult = [[UMSocialManagerdefaultManager]handleOpenURL:url];

if(!result) {

//其他如支付等SDK的回调

}

returnresult;

}

在其他想要使用微博登录的页面中,添加按钮,调用登录方法。如图:

这样便可以进行登录授权,想要获取微博的其他信息,可以在获取信息的页面中调用下面代码

#import <UMSocialCore/UMSocialCore.h>

- (void)getAuthWithUserInfoFromSina

{

[[UMSocialManagerdefaultManager]getUserInfoWithPlatform:UMSocialPlatformType_SinacurrentViewController:nilcompletion:^(idresult,NSError*error) {

if(error) {

NSLog(@"出错了");

}else{

UMSocialUserInfoResponse*resp = result;

//授权信息

NSLog(@"Sina uid: %@", resp.uid);

NSLog(@"Sina accessToken: %@", resp.accessToken);

NSLog(@"Sina refreshToken: %@", resp.refreshToken);

NSLog(@"Sina expiration: %@", resp.expiration);

//用户信息

NSLog(@"Sina name: %@", resp.name);

NSLog(@"Sina iconurl: %@", resp.iconurl);

NSLog(@"Sina gender: %@", resp.gender);

//第三方平台SDK源数据

NSLog(@"Sina originalResponse: %@", resp.originalResponse);

}

}];

}

友盟的每一个版本基本都会改变类名,会引起我们开发的不适。这是我今天参照文档实际操作出来的,有一个问题,就是我在A页面实现授权登录之后,在B页面获取用户信息时,还要再次进行授权。这是什么原因?希望路过的大神能写下您的指导,谢谢!

上一篇下一篇

猜你喜欢

热点阅读