iOS 图文教程完成三方登陆

前言: 首先你要明白, 这种集成三方的东西, 都非常简单,可能会有坑, 填上就好, 这篇文章以微博为例, 其实都是一样的. 步骤或繁或简单, 习惯就好.

1. 首先在微博开放平台注册成为开发者http://open.weibo.com

2. 创建应用

3. 完善应用信息, 这里需要注意的是Bundle ID需要与应用一致, 同时记录appKey 项目中会用到

4. 在应用信息-高级信息中

与上方的保持一致---这段代码后面后使用到

5. 填写URL Types

6. 配置info.plist同时加入白名单

 <array>
  <string>sinaweibohd</string>
  <string>sinaweibo</string>
  <string>weibosdk</string>
  <string>weibosdk2.5</string>
 </array>

7. 导入SDK.

7.1 使用cocoapods你可以这样

pod "WeiboSDK", :git => "https://github.com/sinaweibosdk/weibo_ios_sdk.git"

7.2 或者直接下载拖入工程

8. 代码

// AppDelegate中
#import <WeiboSDK.h>
#define WB_iOS_Key @""
@interface AppDelegate ()<WeiboSDKDelegate>
   /**
     *  1. 设置WeiboSDK的调试模式
     *  2. 注册
     */
    [WeiboSDK enableDebugMode:YES];
    [WeiboSDK registerApp:WB_iOS_Key];
#pragma mark - WeiboSDKDelegate
- (void)didReceiveWeiboRequest:(WBBaseRequest *)request
{

}
// 根据自己的需求写回调
// 这是微博Demo提供的代码
- (void)didReceiveWeiboResponse:(WBBaseResponse *)response
{
if ([response isKindOfClass:WBSendMessageToWeiboResponse.class])
    {
        NSString *title = NSLocalizedString(@"发送结果", nil);
        NSString *message = [NSString stringWithFormat:@"%@: %d\\n%@: %@\\n%@: %@", NSLocalizedString(@"响应状态", nil), (int)response.statusCode, NSLocalizedString(@"响应UserInfo数据", nil), response.userInfo, NSLocalizedString(@"原请求UserInfo数据", nil),response.requestUserInfo];

        WBSendMessageToWeiboResponse* sendMessageToWeiboResponse = (WBSendMessageToWeiboResponse*)response;
        NSString* accessToken = [sendMessageToWeiboResponse.authResponse accessToken];
        if (accessToken)
        {
            self.wbtoken = accessToken;
        }
        NSString* userID = [sendMessageToWeiboResponse.authResponse userID];
        if (userID) {
            self.wbCurrentUserID = userID;
        }
    }
    else if ([response isKindOfClass:WBAuthorizeResponse.class])
    {
        NSString *title = NSLocalizedString(@"认证结果", nil);
        NSString *message = [NSString stringWithFormat:@"%@: %d\\nresponse.userId: %@\\nresponse.accessToken: %@\\n%@: %@\\n%@: %@", NSLocalizedString(@"响应状态", nil), (int)response.statusCode,[(WBAuthorizeResponse *)response userID], [(WBAuthorizeResponse *)response accessToken],  NSLocalizedString(@"响应UserInfo数据", nil), response.userInfo, NSLocalizedString(@"原请求UserInfo数据", nil), response.requestUserInfo];
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title
                                                        message:message
                                                       delegate:nil
                                              cancelButtonTitle:NSLocalizedString(@"确定", nil)
                                              otherButtonTitles:nil];

        self.wbtoken = [(WBAuthorizeResponse *)response accessToken];
        self.wbCurrentUserID = [(WBAuthorizeResponse *)response userID];
        self.wbRefreshToken = [(WBAuthorizeResponse *)response refreshToken];
        [alert show];
    }
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    return [WeiboSDK handleOpenURL:url delegate:self];
}

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
    return [WeiboSDK handleOpenURL:url delegate:self ];
}

9. 写个登陆按钮登陆

- (void)loginClick
{
    [[[[UIApplication sharedApplication] delegate] window] makeKeyWindow];

    WBAuthorizeRequest *request = [WBAuthorizeRequest request];
    // 前面提到的
    request.redirectURI = kRedirectURI;
    request.scope = @"all";
    request.userInfo = @{@"SSO_From": @"SendMessageToWeiboViewController",
                         @"Other_Info_1": [NSNumber numberWithInt:123],
                         @"Other_Info_2": @[@"obj1", @"obj2"],
                         @"Other_Info_3": @{@"key1": @"obj1", @"key2": @"obj2"}};
    [WeiboSDK sendRequest:request];
}

10. 完成图

状态0 代表成功. 如果回忆没有错基本就成功了. O.-

时间: 2024-10-05 21:56:10

iOS 图文教程完成三方登陆的相关文章

最新iOS发布App Store详细图文教程

网上有很多关于iOS发布上架的教程,但大多比较旧而且不完整.不够清晰.所以整理了一个详细完整的iOS APP发布上架App Store的图文教程.分享给小白到大神路上前进的你我. 上架iOS需要一个苹果开发者账号,还没有的话申请一个. 上架过程分七个步骤,按步骤一步步来.照着教程做简单.快速就能完成iOS APP的上传. 1.创建APP身份证(App IDs) 2.申请iOS发布证书 3.申请iOS发布描述文件 4.导入iOS证书到xocde打包IPA 5.在iTunes Connect创建Ap

图文教程:在Mac上搭建Titanium的iOS开发环境

http://mobile.51cto.com/web-317170_all.htm 跨平台开发工具Titanium的兴起之路:HTML 5是最大威胁 比较Titanium和PhoneGap两大iOS移动应用开发框架 跨平台移动Web开发工具 Titanium Mobile简介 图文教程:在Windows 7上搭建Titanium Mobile开发环境 Titanium架构分析图文教程:在Mac上搭建Titanium的iOS开发环境,码迷,mamicode.com

iOS开发内购图文教程

2015年最全的内购图文教程,首先是填各种资料,最后是代码,废话不多说,直接上图 ======================第一部分协议=============== 第一步.png 第二步.jpg 第三步.jpg 第四步.png 第五步.png 第六步.png 第七步.jpg 第八步.jpg 第九步.jpg 第十步.png CNAPS CODE 查询地址https://e.czbank.com/CORPORBANK/query_unionBank_index.jsp 十一步.jpg 十二步.

真正从零开始,TensorFlow详细安装入门图文教程!(linux)

读懂智能&未来 首页 专栏 专题 公开课   AI慕课学院 爱搞机 极客购 申请专栏作者 业界人工智能智能驾驶AI+Fintech未来医疗网络安全AR/VR机器人开发者智能硬件物联网GAIR 业界正文 13 真正从零开始,TensorFlow详细安装入门图文教程! 本文作者:黄鑫 2016-06-11 21:32 导语:帮你完成那个最难的从0到1 AI这个概念好像突然就火起来了,年初大比分战胜李世石的AlphaGo成功的吸引了大量的关注,但其实看看你的手机上的语音助手,相机上的人脸识别,今日头条

TP-Link 无线路由器设置图文教程----怎么设置TP-Link无线路由器图解

转自:http://www.jb51.net/softjc/39399.html 无线路由器的基础配置 在我们第一次配置无线宽带路由器时,参照说明书找到无线宽带路由器默认的IP地址是192.168.1.1,默认子网掩码是255.255.255.0 由于TP-LINK TL-WR541G的配置界面是基于浏览器的,所以我们要先建立正确的网络设置,我们已经将电脑A通过网卡连接到了无线宽带路由器的局域网端口,接下来我们有两种方法为电脑A设置IP地址. 1.设置电脑A的IP地址为192.168.1.xxx

WiFi密码破解详细图文教程

每天都能看到有不少网友在回复论坛之前发布的一篇破解WiFi密码的帖子,并伴随各种疑问.今天流云就为大家准备一篇实战型的文章吧,详细图文从思维CDlinux U盘启动到中文设置,如何进行路由SSID扫描.WPA密码类型该如何破解.字典该怎样做(WEP加密的密码貌似可以直接破解不用字典)效果比BT8要强悍很多!这是一篇详细介绍WiFi密码破解的文章,准备好了吗? 好了,先说下提前要准备的东东吧:1.U盘一枚,最小1G空间.需进行格式化操作,提前保存内部文件.2.CDlinux镜像.帖子最后会提供一枚

Oracle 11g R2安装手册(图文教程)For Windows

1.Oracle 11g R2安装手册(图文教程)For Windows 1.下载Oracle 11g R2 for Windows版本,下载地址如下 官方网站: http://download.oracle.com/otn/nt/oracle11g/112010/win32_11gR2_database_1of2.zip http://download.oracle.com/otn/nt/oracle11g/112010/win32_11gR2_database_2of2.zip 2.解压两个

详细配置架设自己的Serv-U FTP服务器图文教程

首先:Serv-U设置匿名登录帐户的操作是非常简单的 其次:匿名 的英文是:Anonymous 最后:在Serv-U的现有域里新建一个帐户名为Anonymous的用户,没有大小写之分.跟建普通用户不一样:如果匿名用户名 "Anonymous"输入正确的话,它是不会提示你输入密码的,然后直接跑到选择目录那一项,建好用户后给这个用户加权限,然后测试,OK成功 启动Serv-U adminisrator之后,出现如图界面,先看看"本地服务器"这个项目,如图,有个选项是&q

游戏录屏直播的图文教程(基于云直播平台)

原创教程 ( 转载请注明出处 ) 2017-6-26,今天来做一下是电脑游戏桌面录屏直播的教程,就是把桌面的游戏直播出去,加上话筒做讲解.最终实现在电脑.手机.微信中都可以观看到游戏的直播和讲解画面. 提示:1. 本教程说的是游戏录屏直播的图文教程(基于云直播平台,不是基于自建流媒体直播平台) 2. 若要基于自建的流媒体平台,可以用OBS之类的软件来实现,OBS取流发送到自建平台上,实现直播. STEP1 . 硬件准备及设备连接 场景说明: 1.用户做一场电脑游戏桌面直播,实现PC端.手机端(A