微信注册,打印错误日志。根据错误日志排查。
//在register之前打开log, 后续可以根据log排查问题
[WXApi startLogByLevel:WXLogLevelDetail logBlock:^(NSString *log) {
NSLog(@"WeChatSDK: %@", log);
}];
//务必在调用自检函数前注册
[WXApi registerApp:APP_ID universalLink:UNIVERSAL_LINK];
//调用自检函数
[WXApi checkUniversalLinkReady:^(WXULCheckStep step, WXCheckULStepResult* result) {
NSLog(@"%@, %u, %@, %@", @(step), result.success, result.errorInfo, result.suggestion);
}];
会依次回调这7个step,当回调了WXULCheckStepFinal,说明检测通过,SDK接入成功。 任一step回调的result.success为NO, 流程终止,后续不再回调,可以根据result.errorInfo的查看当前步骤错误的原因,根据result.suggestion修复问题。
1.调不起微信。
没有执行 - (void)onResp:(BaseResp*)resp方法。
NSLog(@"WeChatSDK: %@", log)信息:wxlog:Error:fail to load Keychain status:-25300, keyData null:1
我是通过重写下面这个方法解决的。
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler{
return [WXApi handleOpenUniversalLink:userActivity delegate:[WXApiManager sharedManager]];
}
2.生成universal link以及解决“由于应用universal link校验不通过,无法完成微信登录”
参考:https://blog.csdn.net/langouster/article/details/103174777
注意:其中的A2D7CUJ111.com.mydomain.test1是上面获得的teamid.bundleid的形式; 修改xcode工程,添加一个Associated Domains,格式一定是applinks:域名,不要有http和https头
{
"applinks": {
"apps": [],
"details": [
{
"appID": "A2D7CUJ111.com.mydomain.test1",
"paths": [ "*" ]
}
]
}
}
网友评论