阅读排行
- 中国标准城市区域码
- postgresql 截取日期字符串 的函数
- OkHttp 官方中文文档
- 关于java中“使用了未经检查或不安全的操作、有关详细信息,请使用 ——X临潼:unchecked重新编译”
- 什么值得买自动签到自动评论定时任务
- chrome://plugins 无法打开的解决方法,同时解决“该网页已屏蔽插件-adobe flash player”
- 如何在GPT格式下创建EFI和MSR分区(安装WIN10/WIN8.1)
- 联想X270——正版Win10换win7之BIOS配置及系统安装
- 几款开源的堡垒机
- code128条码生成与显示
- Java操作Excel,设置某些单元格不可编辑(HSSFWorkbook ,XSSFWorkbook )
- 第04章-VTK基础(6)
- 通达OA用户操作手册(一)
- postgresql——字符串函数
- (转)C#进行图像处理的几种方法(Bitmap,BitmapData,IntPtr)
- 5.EVE-NG关联SecureCRT,VNC,Wireshark
- Stream 操作 合并两个list
- Unity 利用UGUI打包图集,动态加载sprite资源
- elasticsearch 数据丢失的分析
- win7&win10安装AD管理工具
[iOS常见问题] 关于使用QQ做第三方登录的问题!
注意:QQ本身没有授权功能,所以想要使用QQ做第三方登录必须通过QQ空间来实现! 第一步:集成ShareSDK(步骤同集成分享的一样,如果已经集成过就不用再重新集成了),这里需要注意的是,由于是要通过QQ空间来实现授权登录,所以在下载ShareSDK包的时候别忘了勾选QQ空间,不然会报尚未导入平台(6)的错误。 第二步:打开工程中的*AppDelegate.m(*代表你的工程名字)?文件,导入QQSDK的头文件: #import <TencentOpenAPI/QQApiInterface.h> #import <TencentOpenAPI/TencentOAuth.h> 检查是否已加入handleOpenURL的处理方法,如果没有则添加如下代码: - (BOOL)application: (UIApplication *)application handleOpenURL: (NSURL *)url { return [ShareSDK handleOpenURL:url wxDelegate:self; } - (BOOL)application: (UIApplication *)application openURL: (NSURL *)url sourceApplication: (NSString *)sourceApplication annotation: (id)annotation { return [ShareSDK handleOpenURL: url sourceApplication:sourceApplication annotation: annotation wxDelegate: self; } 第三步: 加入QQ空间初始化方法 在*AppDelegate.m里面的 - (BOOL)application: (UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions{}方法中 //初始化我们的sdk [ShareSDK registerApp:@"iosv1101"]; //添加QQ空间应用 [ShareSDK connectQZoneWithAppKey:@"100371282" appSecret:@"aed9b0303e3ed1e27bae87c33761161d" qqApiInterfaceCls:[QQApiInterface class] tencentOAuthCls:[TencentOAuth class; 注意:这里需要填入的AppKey就是您在QQ互联注册应用的AppID,appSecret就是AppKey! 第四步:配置QQ空间的URL Schemes 打开*-Info.plist(*代表你的工程名字)。找到URL types配置项(如果没有则新增),展开URL types – URL Schemes,在URL Schemes下分别各新增一项用于QQ空间的Scheme(如果不添加则会导致法返回应用)。其填写格式为:tencent+appID(你在QQ空间中申请的AppId), 如:tencent100371282。 第五步:授权登录并获取用户信息 在您的点击事件方法中加入授权获取用户信息接口: [ShareSDK getUserInfoWithType:ShareTypeQQSpace authOptions:nil result:^(BOOL result, id<ISSPlatformUser> userInfo, id<ICMErrorInfo> error) { if (result) { //打印输出用户uid: NSLog(@"uid = %@",[userInfo uid]); //打印输出用户昵称: NSLog(@"name = %@",[userInfo nickname]); //打印输出用户头像地址: NSLog(@"icon = %@",[userInfo profileImage]); }else{ NSLog(@"授权失败!error code == %d, error code == %@", [error errorCode], [error errorDescription]); } }]; 注意:ShareTypeQQSpace这里一定是写QQSpace不能写QQ否则会报 不支持授权功能的错误。 这里只在result里面做了输出的操作 如果您想要做存储数据或者其它显示都可以在这里面操作! ![]() |
文章来自:http://www.cnblogs.com/iOS-mt/p/4319851.html
