注意: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裏面作了輸出的操做 若是您想要作存儲數據或者其它顯示均可以在這裏面操做!ios