[iOS常见问题] 关于使用QQ做第三方登录的问题!
生活随笔
收集整理的這篇文章主要介紹了
[iOS常见问题] 关于使用QQ做第三方登录的问题!
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
[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里面做了輸出的操作 如果您想要做存儲數據或者其它顯示都可以在這里面操作! |
轉載于:https://www.cnblogs.com/iOS-mt/p/4319851.html
總結
以上是生活随笔為你收集整理的[iOS常见问题] 关于使用QQ做第三方登录的问题!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL Server 移动数据库
- 下一篇: WCF添加服务失败。服务元数据可能无法访