微信登录,项目中集成了ShareSDK,可实现拿openId,但后端只要code,于是用微信提供方法拉起微信
SendAuthReq* req = [[SendAuthReq alloc]init];
req.scope = @"snsapi_userinfo";
req.state = @"APP";
//第三方向微信终端发送一个SendAuthReq消息结构
[WXApi sendReq:req completion:^(BOOL success) {
}];
使用微信提供的登录方法后,微信返回App后无回调
-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options{
return [WXApi handleOpenURL:url delegate:self];
}
-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{
return [WXApi handleOpenURL:url delegate:self];
}
-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
return [WXApi handleOpenURL:url delegate:self];
}
- (void)onReq:(BaseReq*)req{
NSLog(@"---");
}
- (void)onResp:(BaseResp*)resp{
SendAuthResp *resp2 = (SendAuthResp *)resp;
NSLog(@"------%@",resp2.code);
}
所有地方都无回调,可以确定不是universalLink
的问题,因为分享正常
最后查阅资料,如下处理可解决
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler{
return [WXApi handleOpenUniversalLink:userActivity delegate:self];
}
网友评论