iOS QQ实现第三方登录以及遇到的问题

iOS QQ第三方登实现 我们经常会见到应用的登陆的时候会有QQ,微信,微博等的第三方登陆 如图: 下面我们主要讲一下qq的第三方登陆如何实现 首先,到官网注册: http://wiki.connect.qq.com 一,下载SDK 下载SDK  地址:  http://wiki.open.qq.com/wiki/mobile/SDK 阅读详情
 

iOS QQ实现第三方登录以及遇到的问题 

标签: QQ第三方登录iOS QQ登录iOS第三方登录
  652人阅读  评论(0)  收藏  举报
  分类:
 

[objc]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1.   
(一)、腾讯开放平台创建应用 http://op.open.qq.com/manage_centerv2/ios?owner=897240781&uin=897240781

创建好之后我们可以获取到appID 


之后点击上图中的《QQ登录》==》《应用调试者》填写测试QQ

(二)、下载SDK:http://wiki.open.qq.com/wiki/mobile/SDK%E4%B8%8B%E8%BD%BD

               1、找到以下两个文件,拖入到工程中


        2、托入工程后,添加需要的依赖库

           

    3、修改必要的工程配置属性

         在工程配置中的“Build Settings”一栏中找到“Linking”配置区,给“Other Linker Flags”配置项添加属性值“-fobjc-arc”



(四)、代码实现

         1、在AppDelegate.m中 添加 

               #import <TencentOpenAPI/TencentOAuth.h>

          2、重新下面两个方法

               

[objc]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. <span style="font-size:18px;">- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{  
  2.     return [TencentOAuth HandleOpenURL:url];  
  3. }  
  4.   
  5. - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{  
  6.     return [TencentOAuth HandleOpenURL:url];  
  7. }</span>  

          3、在你QQ登录界面声明一个

                TencentOAuth *tencentOAuth   对象,然后在QQ登录按钮的点击事件中

[objc]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. <span style="font-size:18px;">            tencentOAuth = [[TencentOAuth alloc]initWithAppId:@"1105198010"andDelegate:self];  
  2.             //4,设置需要的权限列表,此处尽量使用什么取什么。  
  3.             NSArray *permissions= [NSArray arrayWithObjects:@"get_user_info", @"get_simple_userinfo", @"add_t", nil nil];  
  4.             [tencentOAuth authorize:permissions inSafari:NO];</span>  
                 4、实现代理方法

[objc]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. #pragma mark -- TencentSessionDelegate  
  2. //登陆完成调用  
  3. - (void)tencentDidLogin  
  4. {  
  5. //    resultLable.text = @"登录完成";  
  6.     JYLog(@"登录完成");  
  7.       
  8.     if (tencentOAuth.accessToken && 0 != [tencentOAuth.accessToken length])  
  9.     {  
  10.         //  记录登录用户的OpenID、Token以及过期时间  
  11. //        tokenLable.text = tencentOAuth.accessToken;  
  12.         [tencentOAuth getUserInfo];  
  13.     }  
  14.     else  
  15.     {  
  16. //        tokenLable.text = @"登录不成功 没有获取accesstoken";  
  17.         JYLog(@"登录不成功 没有获取accesstoken");  
  18.     }  
  19. }  
  20.   
  21. //非网络错误导致登录失败:  
  22. -(void)tencentDidNotLogin:(BOOL)cancelled  
  23. {  
  24.     NSLog(@"tencentDidNotLogin");  
  25.     if (cancelled)  
  26.     {  
  27. //        resultLable.text = @"用户取消登录";  
  28.         JYLog(@"用户取消登录");  
  29.     }else{  
  30. //        resultLable.text = @"登录失败";  
  31.         JYLog(@"登录失败");  
  32.     }  
  33. }  
  34. // 网络错误导致登录失败:  
  35. -(void)tencentDidNotNetWork  
  36. {  
  37.     NSLog(@"tencentDidNotNetWork");  
  38. //    resultLable.text = @"无网络连接,请设置网络";  
  39.     JYLog(@"无网络连接,请设置网络");  
  40. }  
  41.   
  42. - (void)didReceiveMemoryWarning {  
  43.     [super didReceiveMemoryWarning];  
  44.     // Dispose of any resources that can be recreated.  
  45. }  
  46.   
  47. -(void)getUserInfoResponse:(APIResponse *)response  
  48. {  
  49.     NSLog(@"respons:%@",response.jsonResponse);  
  50. }  

做到这基本能实现登录了


(五)、过程中遇到的问题

          1.  l_OBJC_PROTOCOL_$_TencentApiInterfaceDelegate", referenced from:  和  linker command failed with exit code 1 (use -v to see invocation)

这个问题重点还是在   <TencentSessionDelegate> 这代理的警告: Cannot find protocol definition for 'TencentsessionDelegate'

          这种明明都能运行还说我没有定义的警告,是因为你这个协议虽然定义了,但是你这个协议可能还遵守了XX协议,然后这个XX协议没有定义导致会报这种警告,所以遇到这种警告要往“父协议”找。 举个栗子,上面这行就是腾讯授权的库里面报的警告

           注:  解决办法  :此协议遵守了TencentApiInterfaceDelegate协议,在TencentOAuth.h类中#import "TencentApiInterface.h" 警告就没有了

现在就应该可以运行了

          2.如果你的输出信息是 xxxx - error: "This app is not allowed to query for scheme xxxx"

            (在这里因为我的 App 集成了分享到QQ、微信、微博的功能,xxxx部分我看到了 mqq、wechat、sinaweibosso 等多条信息)

       解决办法: 去 Info.plist 里面建立一个叫 LSApplicationQueriesSchemes 的 Array,把你在xxxx部分看到的词汇一个一个填进去,直至控制台没有任何相关输出即可。


//  若有问题后面再完善

iOS APP提交审核,关于第三方登录被拒的那些事儿 随着苹果APP审核指南的改变,大家应该能感觉到,APP想要通过审核似乎越来越难了,但其实并不,只要你开发的APP界面没太大问题,不会频繁崩溃(至少在审核人员的运行时不要崩溃),且内容健康,一般都会没有问题,这里需要重点说一下,如果你的APP做了关于登录分享,那就需要注意了。   就此次关于“送个礼物”app开发上线,给大家做下分享总结(纯属个人小分享,也给自己的工作做个总结): 大家都知道,... 阅读详情

相关推荐

微信、QQ、微博第三方登录

                     微信、QQ、微博第三方登录与分享    最近项目终于要完结了,甲方可能是觉得这个项目做得不错,准备推广,说他们的boss要开发布会了,我听后内心偷偷一笑,这种傻b系统还开发布会,别逗我笑,我的小心脏受不了。于是他们又过来了几次,说加个第三方登录与分享功能。嗯,加个第三方登录与分享,说得轻巧,可苦了我。而且啊,第三方登录,是要做iOS端和Android端的,...

Benson的博客 1万+

iOS QQ第三方登录的简单实现

平时我们经常会在一些app的登录界面中见到第三方登录,一些应用中一般会使用一些类似shareSDK的集成平台,他们是将QQ、微信、微博等第三方进行了二次封装,灵活性不太高,其实直接集成也是比较容易的。今天就来简单的说一下QQ的第三方登录的集成。

Japho 2469

iOS开发之第三方登录QQ -- 史上最全最新第三方登录QQ方式实现

项目地址 :  https://github.com/zhonggaorong/QQLoginDemo/tree/master 最新版本的qq登录实现步骤实现: 1. 首先,你需要去向腾讯申请账号。 地址:点击打开链接 2. 下载最新的SDK   地址: SDK下载 SDK内容如下: 1. doc: 为说明文档, 方法参数说明。 2.sample 这个是简单的demo

zhonggaorong的专栏 2万+

iOS 开发,xcode7中用QQ授权登录遇到的一些问题 QQ登录不跳客户端

QQ登录不调用客户端

u010971348的博客 4347

iOS微信第三方登录实现

这篇文章主要介绍了iOS微信第三方登录实现的全过程,一步一步告诉大家iOS微信实现第三方登录的方法,感兴趣的小伙伴们可以参考一下 一、接入微信第三方登录准备工作。 移动应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统。 在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐号,并拥有一个已审核通过的移动应用,并获得相应的AppID和AppSecret,申请微信登录且通过审核后,可开始接入流程。(注意)

Cooldiok的博客 4852

ZBrush 2021来了

这次给大家带来的是:zbrush2021.1.1 win安装教程 1.下载压缩包之后解压到文件夹当中,然后打开ZBrush_2021_Installer.exe进行软件安装, 如下图 2.在这里我们保持默认的简体中文版即可,然后点击确认,如下图 3.第三步我们点击前进即可,如下图 4.第四步我们来到许可协议,在这里我们点击我接受此协议,然后点击前进,如下图 5.第五步我们来到安装目录,在这里我们可以设置安装路径,如下图 6.在这里我将安装目录修改安装到E盘为例,然后点击下一

3D游戏建模 1187

QQ登录成功后,没有调用- (void)getUserInfoResponse:(APIResponse *)response方法

问题: QQ登录成功后,没有调用- (void)getUserInfoResponse:(APIResponse *)response方法 解决方法: 在- (void)tencentDidLogin方法里调用[_tencentOAuth getUserInfo];方法,就会自动调用获取用户基本信息的- (void)getUserInfoResponse:(APIResponse

VictorZhang 3114

AF3 ProteinDataset类的_patch方法解读

AlphaFold3 protein_dataset模块 ProteinDataset 类  _patch 方法的主要目的是围绕锚点残基(anchor residues)裁剪蛋白质数据,提取一个局部补丁(patch)作为模型输入。

qq_27390023的博客 1147

:: [QQConnect] > access_token丢失 : _getMeError 怎么办?

首先,要建立一个回调的 URL,据测试,回调地址不能和登陆地址同在一个页面,所以我们需要至少 2 个 URL: 1. 回调地址 URL:/callback/qq.php 回调地址的内容 <script type="text/javascript" src="ht...

1503

akamai3简单分析

akamai流程的简单分析

记录一些web逆向的过程 916

【零基础入门unity游戏开发——unity通用篇12】导入导出unity资源包、设置编程工具、创建脚本(组件)规则、MonoBehaviour基类介绍、脚本模板(基于unity6开发介绍)

导入导出unity资源包、设置编程工具、创建脚本(组件)规则、MonoBehaviour基类介绍、脚本模板(基于unity6开发介绍)

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 760

flutter在IOS上的登录实现——QQ登录、微信登录、自动识别手机号一键登录、apple登录

开发背景: 我们在使用flutter开发的时候,第一版都基于安卓设备开发的,所以登录功能,也都只适配了安卓设备。 第一版完成后,就由我适配在IOS设备上的登录模块,因为安卓的登录模块不是我开发的,所以修改别人的代码,还尽量不影响原先的逻辑 着实让我头疼。 呕心沥血完成后,赶紧做个记录。 我们APP登录方式很多: QQ登录、微信登录、自动识别手机号一键登录、手机号验证码登录、apple登录 除了手机号验证码登录,其他4种方式我都得重新适配。 一、QQ登录 使用的第三方库: tencent_kit git地

qq_41510985的博客 1万+

078、镜头阴影校正:LSC算法原理与标定优化

文章摘要 镜头阴影校正(LSC)是手机影像系统中的关键技术,用于解决镜头渐晕效应导致的画面边缘暗角问题。本文详细分析了LSC算法的核心原理,包括非均匀网格划分、双线性插值等关键技术点,并揭示了标定流程中的常见陷阱(光源均匀性、灰卡反射特性、温度漂移)。文章还深入探讨了增益计算的工程实现细节,以及实际调优中的关键考量因素(色差校正、动态场景适应等)。作者结合15年经验,给出了包括验证方法、网格参数设计、产线标定等实用性建议,强调LSC算法应与光学设计协同优化,才能达到最佳效果。

sundong_81的博客 42

android qq 登陆 简书,第三方登录 — QQ登录

一. 首先需要下载腾讯qq登录所需的库,下载地址是http://open.qq.com/。需要用到的有TencentOpenAPI.framework 和TencentOpenApi_IOS_Bundle.bundle,将两者加入工程。二.下面就来实现QQ第三方登录1.声明属性,且viewcontroller实现TencentSessionDelegate@interface LoginViewC...

weixin_32304579的博客 932

基于Simulink雷达系统建模仿真(附源码)

此示例显示如何设置由发射器、带目标的信道和接收器组成的雷达系统仿真。一、系统架构该系统包括:雷达脉冲发生器,以 2% 占空比(导通时间 = 2 ms,周期 = 100 ms)输出功率为 1 mW 的啁啾声。RF发射器部分由滤波器和组成,使用RF模块集电路包络库模块实现。由于滤波器是线性器件,放大器是非线性器件,因此它们被分成两个独立的子系统。这种分离允许在每个子系统中使用不同的仿真频率集。这种分离还允许在更快的仿真速度和级联链中可用的级间负载效应损失之间进行权衡。

珞瑜的博客 4581

Keil uVision5 STM32 startup_stm32f10x_md_vl.s error A3906U Malformed via file target not created..

🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。

**My Coding Family** 2773

适配iOS9时候,qq和微信第三方登陆一直失败-canOpenURL: failed for URL:

适配iOS9时候,qq和微信第三方登陆一直失败-canOpenURL: failed for URL: 我当时采用的shareSDK集成的第三方登陆功能,我先将白名单添加到一个info.plist文件里面,微博和人人的可以登陆,而qq和微信无法登陆,于是我将白名单等写在了TARGETS的info里面。发现可以进行登陆了。 本文转自 ...

weixin_34150830的博客 250

双馈风机并网系统宽频振荡机理与抑制方法研究

双馈风机并网系统宽频振荡分析与抑制 摘要:本文研究了双馈风机(DFIG)接入弱电网引发的宽频振荡问题。通过建立DFIG并网系统阻抗模型,分析了锁相环带宽、电流环带宽等参数对阻抗特性的影响。研究揭示了DFIG与电网阻抗交互导致交截频率处相位差超过180°的振荡机理。提出基于锁相环优化的阻抗重塑抑制策略,采用电压补偿和陷波器改善系统稳定性。仿真结果表明,该方法能有效降低相位差约10°-168°,显著抑制宽频振荡。代码实现了阻抗建模、稳定性分析和抑制策略验证,为工程应用提供了理论依据。

huanghm88的专栏 319

基于第三方QQ授权登录和新浪微博授权登录的iOS代码分析

基于iOS实现APP的第三方登陆之QQ和新浪微博授权,在开发中明显能感觉到两家SDK的差异和易用性,这里先赘述下接入第三方SDK时的一个基本的步骤: 1,确定用需中需要这样一个功能,如果QQ登录,似乎主流了,APP注册标配啊; 2,找到相关的开放平台,如QQ互联平台,http://connect.qq.com/; 3,注册成功后创建自己的APP,填写一堆基本信号后获得一个App_

happyrabbit456的专栏 797

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

ShareSDK使用过程中遇到的一些问题

1、之前已经使用QQ、微信的原生SDK做了登录功能,添加ShareSDK后,微信登录在授权后不调用onResp函数了   解决办法就是把之前的原生微信登录跟QQ登录去掉了,换成ShareSDK,ShareSDK做第三方登录太简单了,一个函数调用加一个回调就全部搞定了。 2、菜单分享时不弹出QQ平台相关的两个项:QQ与QQ空间   同时发现控制台输出如下错误: 2016-05-2609:2...

weixin_34146410的博客 199

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

iOS 第三方登录之 QQ登录

一. 首先需要下载腾讯qq登录所需的库,下载地址是http://open.qq.com/ 。 需要用到的有TencentOpenAPI.framework 和TencentOpenApi_IOS_Bundle.bundle,将两者加入工程。 二.下面就来实现QQ第三方登录 1.声明属性,且viewcontroller实现TencentSessionDelegate @interface

Lydia的博客 2938

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

iOS QQ第三方登录实现

上图就是传说中的第三方登录 我们本章讲的是 QQ第三方登录 首先我们要有一个APP ID  去 http://connect.qq.com/  QQ互联 网站上 填写资料 注册之后按照顺序 最终走到 APP ID申请成功啦!!!开始使用吧~ 一,下载SDK 下载SD

王颜华的博客 1745

基于第三方QQ授权登录

如何接入移动应用? 通过简单的四个步骤 (开发者注册 -> 创建移动应用 -> 完善应用信息 ->应用分发),即可加入腾讯开放平台创建移动应用,并将您的应用上线发布到腾讯的移动平台上,轻松通过在应用宝、腾讯QQ、微信、腾讯手机管家、QQ空间、QQ游戏等场景分发聚合的腾讯移动开放平台获取丰厚的收益和巨大的流量。 第一步:开发者注册 1.请点击腾讯开放平台(http://open.qq.co

qq_21649645的专栏 4378

iOS原生QQ第三方登录

本文简介 1新建一个工程 2导入SDK 3添加依赖库 4配置SDK Framework路径 5代码实现 5-1 在Appdelegate类中 导入头文件 TencentOAuthh 5-2在登录页面实现QQ登录 即此处的ViewController页面 5-2-1 导入登录所需头文件 5-2-2 实现代理以及声明对象 5-2-3 配置Appkey以及redirectURI 此处以官方Demo中的

上帝很忙的博客 1970

iOS第三方登录(微信、qq、微博)

本文会介绍iOS常用的第三方登录,包括微信、QQ、微博,文章前部分会介绍每个平台的API集成及使用方法,文章后部分会介绍对三方登陆集成一起的三方框架ShareSDK(友盟也是可以的)。 微信登录: 集成前先去微信开放平台(地址https://open.weixin.qq.com)注册账号及注册APP,来获取appkey。注册APP的时候注意最好是iOS版和安卓版注册到一起,不然只注册一个端会导致...

qq_30356665的博客 1903
上一篇: 一步一步实现iOS QQ第三方登录
下一篇: qq第三方登录问题
JackRenEngineer
博客等级 码龄10年 37粉丝 120原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值