最新微信登錄以及universalLink的配置

不知道從什么時候開始田藐,app要集成微信登錄必須要配置universalLink了。否則調不起來微信陡舅。之前只需要[WXApi registerApp:SDK_WX];就可以了酌住,現在必須要[WXApi registerApp:SDK_WX universalLink:UNIVERSAL_LINK];才行。

配置UNIVERSAL_LINK分為幾下幾步刃麸。

一醒叁、登錄開發(fā)者網站進入證書配置頁面,進入?Identifiers里面把對應的Bundle ID下的Associated Domains勾選上。

在把xcode對應的applinks添加上把沼。


然后在配置下URL Types


“LSApplicationQueriesSchemes“欄添加


新建一個不帶后綴名的文件啊易,(必須純文本,命名為apple-app-site-association饮睬,去除后綴名)租谈。最好讓后臺人員在其本地創(chuàng)建,因為我創(chuàng)建完發(fā)給后臺時捆愁,自動生成了后綴名割去,改完也不行,所以讓他自己建昼丑。內容是這樣的呻逆,XXX表示蘋果賬號的團隊ID,OOO表示項目的BundleID矾克。


放在后臺配置的域名服務下就行了页慷。然后讓他給你一個地址,例如這樣:https://www.baidu.com/apple-app-site-association胁附。

如果后臺提供的url地址是https://www.baidu.com/apple-app-site-association酒繁。那么,

Associated Domains中填寫applinks:www.baidu.com控妻,

代碼注冊方法及微信開放平臺中都填https://www.baidu.com/州袒,

配置就差不多了。

如果在appdelegate里面回調不走弓候,看看加沒加這個方法郎哭。

- (BOOL)application:(UIApplication*)applicationcontinueUserActivity:(NSUserActivity*)userActivity

? ? restorationHandler:(void(^)(NSArray> *__nullablerestorableObjects))restorationHandler {

? ? return [WXApi handleOpenUniversalLink:userActivity delegate:self];

}。

接下來就是獲取信息了菇存。

//微信回調代理

- (void)onResp:(BaseResp*)resp{


? ? // =============== 獲得的微信登錄授權回調 ============

? ? if([respisMemberOfClass:[SendAuthRespclass]])? {

? ? ? ? NSLog(@"******************獲得的微信登錄授權******************");


? ? ? ? SendAuthResp*aresp = (SendAuthResp*)resp;

? ? ? ? if(aresp.errCode!=0) {

? ? ? ? ? ? dispatch_async(dispatch_get_main_queue(), ^{

? ? ? ? ? ? ? ? [PKProgressHUD pkShowErrorWithStatueTitle:@"微信授權失敗"];

? ? ? ? ? ? });

? ? ? ? ? ? return;

? ? ? ? }

? ? ? ? //授權成功獲取 OpenId

? ? ? ? NSString*code = aresp.code;

? ? ? ? [selfgetWeiXinOpenId:code];

? ? }

? ? // =============== 獲得的微信支付回調 ============

? ? if([respisKindOfClass:[PayRespclass]]){

? ? ? ? //支付返回結果夸研,實際支付結果需要去微信服務器端查詢

? ? }

}

//通過code獲取access_token,openid依鸥,unionid

- (void)getWeiXinOpenId:(NSString *)code{

? ? /*

?? ? appid? ? 是? ? 應用唯一標識亥至,在微信開放平臺提交應用審核通過后獲得

?? ? secret? ? 是? ? 應用密鑰AppSecret,在微信開放平臺提交應用審核通過后獲得

?? ? code? ? 是? ? 填寫第一步獲取的code參數

?? ? grant_type? ? 是? ? 填authorization_code

?? ? */

? ? NSString *url =[NSString stringWithFormat:@"https://api.weixin.qq.com/sns/oauth2/access_token?appid=%@&secret=%@&code=%@&grant_type=authorization_code",SDK_WX,SDK_WX_SECRET,code];


? ? dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

? ? ? ? NSURL*zoneUrl = [NSURLURLWithString:url];

? ? ? ? NSString *zoneStr = [NSString stringWithContentsOfURL:zoneUrl encoding:NSUTF8StringEncoding error:nil];

? ? ? ? NSData *data1 = [zoneStr dataUsingEncoding:NSUTF8StringEncoding];


? ? ? ? if(!data1) {

? ? ? ? ? ? [PKProgressHUD pkShowErrorWithStatueTitle:@"微信授權失敗"];return ;

? ? ? ? }


? ? ? ? // 授權成功贱迟,獲取token姐扮、openID字典

? ? ? ? NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data1 options:NSJSONReadingMutableContainers error:nil];

? ? ? ? NSLog(@"token、openID字典===%@",dic);

? ? ? ? NSString*access_token = dic[@"access_token"];

? ? ? ? NSString*openid= dic[@"openid"];

? ? ? ? // 獲取微信用戶信息

? ? ? ? [self getUserInfoWithAccessToken:access_token WithOpenid:openid];

? ? });

}

-(void)getUserInfoWithAccessToken:(NSString *)access_token WithOpenid:(NSString *)openid

{

? ? NSString *url =[NSString stringWithFormat:@"https://api.weixin.qq.com/sns/userinfo?access_token=%@&openid=%@",access_token,openid];


? ? dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

? ? ? ? NSURL*zoneUrl = [NSURLURLWithString:url];

? ? ? ? NSString *zoneStr = [NSString stringWithContentsOfURL:zoneUrl encoding:NSUTF8StringEncoding error:nil];

? ? ? ? NSData *data = [zoneStr dataUsingEncoding:NSUTF8StringEncoding];

? ? ? ? dispatch_async(dispatch_get_main_queue(), ^{


? ? ? ? ? ? // 獲取用戶信息失敗

? ? ? ? ? ? if(!data) {

? ? ? ? ? ? ? ? [PKProgressHUD pkShowErrorWithStatueTitle:@"微信授權失敗"];return ;

? ? ? ? ? ? }


? ? ? ? ? ? // 獲取用戶信息字典

? ? ? ? ? ? NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];

? ? ? ? ? ? //用戶信息中沒有access_token 我將其添加在字典中

? ? ? ? ? ? [dicsetValue:access_tokenforKey:@"token"];

? ? ? ? ? ? NSLog(@"用戶信息字典:===%@",dic);

? ? ? ? ? //微信返回信息后,會跳到登錄頁面,添加通知進行其他邏輯操作

? ? ? ? ? ? [[NSNotificationCenter defaultCenter] postNotificationName:GETWXPARAMS object:dic];

? ? ? ? });

? ? });

}

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末衣吠,一起剝皮案震驚了整個濱河市茶敏,隨后出現的幾起案子,更是在濱河造成了極大的恐慌缚俏,老刑警劉巖惊搏,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贮乳,死亡現場離奇詭異,居然都是意外死亡胀屿,警方通過查閱死者的電腦和手機塘揣,發(fā)現死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來宿崭,“玉大人亲铡,你說我怎么就攤上這事∑隙遥” “怎么了奖蔓?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長讹堤。 經常有香客問我吆鹤,道長,這世上最難降的妖魔是什么洲守? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任疑务,我火速辦了婚禮,結果婚禮上梗醇,老公的妹妹穿的比我還像新娘知允。我一直安慰自己,他們只是感情好叙谨,可當我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布温鸽。 她就那樣靜靜地躺著,像睡著了一般手负。 火紅的嫁衣襯著肌膚如雪涤垫。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天竟终,我揣著相機與錄音蝠猬,去河邊找鬼。 笑死统捶,一個胖子當著我的面吹牛吱雏,可吹牛的內容都是我干的。 我是一名探鬼主播瘾境,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼镰惦!你這毒婦竟也來了迷守?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤旺入,失蹤者是張志新(化名)和其女友劉穎兑凿,沒想到半個月后凯力,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡礼华,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年咐鹤,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片圣絮。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡祈惶,死狀恐怖,靈堂內的尸體忽然破棺而出扮匠,到底是詐尸還是另有隱情捧请,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布棒搜,位于F島的核電站疹蛉,受9級特大地震影響,放射性物質發(fā)生泄漏力麸。R本人自食惡果不足惜可款,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望克蚂。 院中可真熱鬧闺鲸,春花似錦、人聲如沸陨舱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽游盲。三九已至误墓,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間益缎,已是汗流浹背谜慌。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留莺奔,地道東北人欣范。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像令哟,于是被迫代替她去往敵國和親恼琼。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內容