創(chuàng)建應(yīng)用獲取APPID
- 環(huán)境搭載,下載官方iOSsdk,照著參考SDK 環(huán)境搭建-iOS就可以搭建好
- 添加白名單
QQ與QQ空間白名單:mqzoneopensdk、mqzoneopensdkapi、mqzoneopensdkapi19、mqzoneopensdkapiV2、mqqOpensdkSSoLogin、mqqopensdkapiV2、mqqopensdkapiV3、wtloginmqq2、mqqapi、mqqwpa、mqzone、mqq。
白名單
- 添加 URL scheme
URL scheme
接入代碼
AppDelegate中代碼
-
引入頭文件并遵循代理
引入頭文件并遵循代理 -
處理跳轉(zhuǎn)請求
ViewController.m中代碼
-
QQ登錄
// appID是在騰訊開放平臺創(chuàng)建應(yīng)用所分配的 TencentOAuth loginOAuth = [[TencentOAuth alloc] initWithAppId:appID andDelegate:self]; NSArray permissions = @[kOPEN_PERMISSION_GET_SIMPLE_USER_INFO, kOPEN_PERMISSION_ADD_SHARE, kOPEN_PERMISSION_GET_INFO, kOPEN_PERMISSION_GET_USER_INFO]; [loginOAuth authorize:permissions];
permissions是請求權(quán)限類型數(shù)組,權(quán)限內(nèi)容如下圖:
-
請求登錄后,會跳轉(zhuǎn)到手機(jī)QQ獲取權(quán)限,之后可以在回調(diào)代理中處理登錄狀態(tài)
QQ登錄成功后,如果想要獲取QQ用戶信息,則可在tencentDidLogin方法中編寫下述代碼: - (void)tencentDidLogin { // 判斷是否獲取到Access Token憑證,用于后續(xù)訪問各開發(fā)接口,例如:發(fā)表說說到QQ空間、獲取用戶QQ控件相冊列表等 if (_loginOAuth.accessToken) { // 獲取用戶信息 [_loginOAuth getUserInfo]; } } 接下來,在getUserInfoResponse:方法中獲取用戶信息: - (void)getUserInfoResponse:(APIResponse *)response { NSLog(@"用戶信息:%@",response); }
QQ分享
-
分享URL給好友
// 初始化授權(quán)登錄對象 _oauth = [[TencentOAuth alloc] initWithAppId:appid andDelegate:self]; QQApiURLObject *urlObject = [QQApiURLObject objectWithURL:[NSURL URLWithString:@"https://itunes.apple.com/cn/app/id1223932262?mt=8"] title:@"團(tuán)組發(fā)票管理" description:@"很好用的喲我開發(fā)的喲哈哈哈哈" previewImageData:UIImageJPEGRepresentation([UIImage imageNamed:@"test"], 1) targetContentType:QQApiURLTargetTypeNews]; SendMessageToQQReq *req = [SendMessageToQQReq reqWithContent:urlObject];
-
// 分享給好友
[QQApiInterface sendReq:req]; 分享到QQ空間 _oauth = [[TencentOAuth alloc] initWithAppId:appid andDelegate:self]; QQApiTextObject *txtObj = [QQApiTextObject objectWithText:@"這是一段文字喲"]; SendMessageToQQReq *req = [SendMessageToQQReq reqWithContent:txtObj]; //將內(nèi)容分享到qq QQApiSendResultCode sent = [QQApiInterface SendReqToQZone:req];