ios 微信登录授权成功后没有回调?

做微信授权登录的时候,遇到了几个问题,现在列出来,也许对新手有帮助。

1、授权成功没有回调

首先要在AppDelegate中,实现这两个代理,一般官方文档上都有说明

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url

{

return [WXApi handleOpenURL:url delegate:self];

}

- (BOOL)application:(UIApplication *)application openURL:(nonnull NSURL *)url sourceApplication:(nullable NSString *)sourceApplication annotation:(nonnull id)annotation

{

return [WXApi handleOpenURL:url delegate:self];

}

还有要在TARGETS的info栏目中的url types添加url schemes,这个url schemes其实就是就是自己app的标识,添加后,微信才能识别成功后返回到那个应用。

 2、回调成功后要获取用户自己的信息怎么办

授权成功并且返回自己app后,微信sdk会调用OnResp函数,在变量resp中,携带有你需要的code,然后再通过code去获取用户信息:

- (void) onResp:(BaseResp*)resp

{

NSLog(@"resp.errCode = %d",resp.errCode);

NSLog(@"resp.errCode = %@",resp.errStr);

NSLog(@"resp.errCode = %d",resp.type);

SendAuthResp *aresp = (SendAuthResp *)resp;

if (aresp.errCode== 0) {

_wxCode = aresp.code;

NSDictionary *dic = @{@"code":CHECK_STRING(_wxCode)};

[RequestUtil getWXAuthWithParams:dic success:^(NSDictionary *responseData) {

if ([responseData isKindOfClass:[NSDictionary class]]) {

}

} failure:^(NSString *errorInfo) {

}];

}

}

获取到code后,我是传给后台,后台通过app端传的code从微信那方获取到用户信息,然后返回给我的。当然你也可以自己获取,这个微信授权文档上有,我就不详细描写了。

希望对大家有帮助。

你可能感兴趣的:(ios 微信登录授权成功后没有回调?)