美文网首页
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