版權(quán)聲明:本文為博主原創(chuàng)文章珍德,未經(jīng)博主允許不得轉(zhuǎn)載练般。轉(zhuǎn)載請(qǐng)注明轉(zhuǎn)至Z.MJun的簡(jiǎn)書
TencentOAuth這個(gè)對(duì)象必須是一個(gè)成員變量。否側(cè)不會(huì)產(chǎn)生回調(diào)锈候。
沒有回調(diào)的做法
方法名稱
{
TencentOAuth *oauth = [[TencentOAuth alloc] initWithAppId:appId andDelegate:self];
[oauth setRedirectURI:uri];
[oauth authorize:@[kOPEN_PERMISSION_GET_USER_INFO] inSafari:NO];
}
錯(cuò)誤的在于薄料,oauth這個(gè)變量只在這個(gè)作用區(qū)域內(nèi)有效。跳出這個(gè)作用區(qū)域就被釋釋放了泵琳,等到回調(diào)的時(shí)候當(dāng)然就找不到這個(gè)變量摄职。
有回調(diào)的做法
@interface ClassName () <TencentSessionDelegate>
{
TencentOAuth *_oauth;
}
這樣子,在經(jīng)過初始化后虑稼,變量被保存琳钉,等到登錄成功回調(diào)就有了數(shù)據(jù)了势木。
個(gè)人認(rèn)為
這個(gè)樣的調(diào)用是騰訊QQ登錄的API做的不夠人性化蛛倦,可以借鑒微信的第三方登錄方法。開發(fā)者開發(fā)到一定的高度后啦桌,就不再把一些變量保存溯壶,或者暴露在外面,所以往往容易掉入這個(gè)陷阱甫男。