美文网首页
iOS app接入微信登陆遇到的问题解决

iOS app接入微信登陆遇到的问题解决

作者: 那一处风景ljz | 来源:发表于2020-08-18 18:59 被阅读0次

微信注册,打印错误日志。根据错误日志排查。

//在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": [ "*" ]
            }
        ]
    }
}

相关文章

网友评论

      本文标题:iOS app接入微信登陆遇到的问题解决

      本文链接:https://www.haomeiwen.com/subject/lqwkjktx.html