今天博主有一个第三方登录的需求,遇到了一些困难点,在此和大家分享,希望能够共同进步.

第三方登录的方法很多,最直接的方法就是去各大开发者平台申请id之后看官方文档直接集成,当然也有偷懒的方法.类似博主,使用的是ShareSDK进行第三方登录,当然也可以使用友盟进行第三方登录.第三方登录主要是通过拉取第三方的授权,获得第三方平台的用户ID,作为参数上传到自己的服务器中,换取令牌,达到登录的目的.

1.申请appKey ,去要集成的各大开发者平台申请

2.导入ShareSDK

3.配置URL Schemes

在这里配置URL Schemes,identifier随便填,能区别其他应用即可,URL Schemes按开发者平台要求填,通常是简称+appKey

4.添加依赖库

必须添加的依赖库如下:

libicucore.dylib

libz.dylib

libstdc++.dylib

JavaScriptCore.framework

以下依赖库根据社交平台添加

新浪微博SDK依赖库

ImageIO.framework

QQ好友和QQ空间SDK依赖库(新注册腾讯开放平台帐号只支持SSO授权,只是老开发者才可以使用网页授权)

libstdc++.dylib

libsqlite3.dylib

5.在didFinishLaunch中注册appKey,初始化

/**ShareSDK 集成*/

[ShareSDK registerApp:@"appKey"];

#pragma mark-------

[ShareSDK connectSinaWeiboWithAppKey:@"appKey"

appSecret:@"APPSecret"

redirectUri:@"http://www.baidu.com"];

[ShareSDK connectQZoneWithAppKey:@"appKey"

appSecret:@"APPSecret"

qqApiInterfaceCls:[QQApiInterface class]

tencentOAuthCls:[TencentOAuth class]];

[WXApi registerApp:APP_ID];

[ShareSDK connectWeChatWithAppId:APP_ID   //微信APPID

appSecret:APP_SECRET  //微信APPSecret

wechatCls:[WXApi class]];

6.在openURL中回调

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

{

return [ShareSDK handleOpenURL:url

sourceApplication:sourceApplication

annotation:annotation

wxDelegate:self];

}

7. 在登录界面进行登录

#pragma mark -Weixin 登录

- (void)loginWeixinBtnClicked {

[ShareSDK getUserInfoWithType:ShareTypeWeixiTimeline

authOptions:_authOptions

result:^(BOOL result, id<ISSPlatformUser> userInfo, id<ICMErrorInfo> error) {

if (result)

{

//将从第三方平台获取的参数上传服务器

NSDictionary *dict = @{@"udid" : [userInfo uid],

@"client" : YORequest_Client

};

[self startTestLoginWithDictionary:dict withIsFrom:YES];

}

完成

PS:适配iOS9.0

http://wiki.mob.com/ios9-对sharesdk的影响(适配ios-9必读)/

在提交审核的时候如果没有安装qq微信,提示未安装qq微信会被拒绝,使用如下方法即可

转载于:https://www.cnblogs.com/Twisted-Fate/p/4737011.html

iOS开发日记4-第三方登录(ShareSDK)相关推荐

  1. 【ios开发/Xcode】实现登录注册

    [ios开发/Xcode]实现登录注册 实现效果 源代码 实现效果 首先进入初始界面,输入账号Linchuantao,密码Linchuantao,显示登录失败(如下左图),因此需要进行注册,点击左下角 ...

  2. iOS开发中解决第三方静态库符号冲突的终极方案

    iOS开发中解决第三方静态库符号冲突的终极方案 背景 在iOS开发的时候,经常会使用各种第三方静态库,这些库内部可能会打包了相同的第三方库.那么在链接的时候就会发生符号冲突. 例如:A厂商提供的lib ...

  3. IOS开发之常用第三方框架(完善中)

    IOS开发之常用第三方框架 AFNetworking:网络请求 SDWebImage:加载网络图片 MJRefresh:下拉刷新 MBProgressHUD/SVProgressHUD:加载提示框 M ...

  4. 【ios开发Xcode】实现登录注册

    [ios开发/Xcode]实现登录注册 实现效果 源代码 实现效果 首先进入初始界面,输入账号Linchuantao,密码Linchuantao,显示登录失败(如下左图),因此需要进行注册,点击左下角 ...

  5. 新浪微博开发接口_第三方登录(授权)/分享(发帖)

    应用场景:第三方登录(授权)/分享(发帖) 注意:不要运行官方Demo 修改官方Demo包名,或者将所有资源拷贝到自己项目中 原因:官方Demo运行有问题 1. 新浪微博开放接口使用步骤 1) 进入h ...

  6. iOS开发 常用的第三方框架

    图像: 1.图片浏览控件MWPhotoBrowser 实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩放等操作. 下 ...

  7. iOS开发之常用第三方框架

    更新于2019.01.23 ko1o/PYSearch 多种搜索样式 PYSearchDemo.gif pujiaxin33/JXPagingView tableView悬停 image.png te ...

  8. 个人博客系统开发总结之 第三方登录(QQ、微博)

    当别人访问我的博客系统时,如果需要评论,就需要登录.如果此时要求注册,就比较麻烦,并且会引起访问者的反感.于是就采用第三方登录.目前支持QQ.微博登录. QQ登录 QQ互联开放平台为第三方网站提供了丰 ...

  9. ios 开发日记 21 -自动处理键盘事件的第三方库:IQKeyboardManager

    我们写界面要考虑很多用户体验问题,键盘事件的响应就是比较麻烦的一种.我们需要监听键盘事件,考虑点击背景收起键盘.考虑键盘遮挡输入框问题等等,而且每个界面都要做这么一套.这个库帮我们解决了这个事情. 这 ...

最新文章

  1. typora新增主题,typora将主题导入本地
  2. [转载]《博客园精华集》Winform筛选结果(共105篇)
  3. Codeforces Round #503 (by SIS, Div. 1)D. the hat
  4. authconfig‐tui_authconfig-tui
  5. vmware如何安装solaris10
  6. 逆向工程---Mybatis学习笔记(十二)
  7. [弹性力学]弹力与材力的同一变量的规定正方向的不同导致公式中个别符号不同
  8. android studio页面布局代码,还在用Android正经布局来写页面吗?
  9. react-native 金币彩带雨下落动画
  10. 解读全球热点,传递科研进展,这份AI内参要承包你的AI信息源
  11. 纯python好找工作吗_python现在还好找工作吗?
  12. 初中计算机期末质量分析,初中信息技术教学感悟随笔
  13. 【运维有小邓】日志分析软件 - EventLog Analyzer
  14. untiy3d坐标系以及向量运算
  15. Ubuntu Linux DNS服务器 BIND9配置文件命令介绍
  16. 科技日语写作 计算机科学专题,科技进步和人类日语作文
  17. 滑稽,使用paddle轻松搞定抠图,妈妈再也不用担心我不会抠图了
  18. 上传文件 后清空file
  19. ChatGPT国内在线版、微信版
  20. 有哪些好用的思维导图软件?这个办法值得一试

热门文章

  1. 腾讯光子《黎明觉醒》技术美术负责人:如何制作超真实的开放世界?
  2. J2ME手游开发日记
  3. Oracle ASM Cluster File Systems (ACFS)应用指南
  4. 数据库表及字段命名、设计规范
  5. React + TypeScript 实现泛型组件
  6. python 面向对象之:反射,双下方法
  7. mysql null的作用_MySQL中对于NULL值的理解和使用教程
  8. vue 返回上一页传参_H5页面与微信小程序相互跳转并传参(web-view)
  9. python开发windows界面_python适合windows的桌面应用程序开发吗?
  10. java 重复提交_java解决重复提交表单