ShareSDK [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 handleOpenURLurl
                   sourceApplication:sourceApplication
                   annotationannotation
                   wxDelegateself;
}    
第三步: 加入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裏面作了輸出的操做 若是您想要作存儲數據或者其它顯示均可以在這裏面操做!
ios

相關文章
相關標籤/搜索