美文网首页
iOS 微信SDK登录/分享问题 “未验证应用”和“二次拉起”.

iOS 微信SDK登录/分享问题 “未验证应用”和“二次拉起”.

作者: 儒徒 | 来源:发表于2021-03-08 12:02 被阅读0次

    微信分享universal link. 导致“未验证应用”和“二次拉起”

    • 使用SDK 自检函数排查接入问题
      SDK1.8.7版本,WXApi新增了自检函数checkUniversalLinkReady:,帮助开发者排查SDK接入过程中遇到的问题。
      如果出现了问题, 开发者首先通过该函数检查问题.
    [WXApi startLogByLevel:WXLogLevelDetail logBlock:^(NSString * _Nonnull log) {
        NSLog(@"WeChatSDK: %@", log);
    }];
    [WXApi registerApp:@"wxAppID" universalLink:@"wxUniversalLink"];
    [WXApi checkUniversalLinkReady:^(WXULCheckStep step, WXCheckULStepResult * _Nonnull result) {
        NSLog(@"WeChatSDK: %@, %u, %@, %@", @(step), result.success, result.errorInfo, result.suggestion);
    }];
    
    

    如:

    2021-03-04 16:02:51.114537+0800 [1831:776302] WeChatSDK: 5, 0, Universal Link 
    check failed. The application is launched by WeChat via scheme, Common problems 
    self-check guide: [微信开放平台App iOS端接入新版本SDK 常见问题自查指引]
    https://developers.weixin.qq.com/community/develop/doc/000ce0403bc9d0ea1a0a67f415b409
    

    扒拉微信开发平台QA, 可以确定就是Universal link问题.

    1).自行用safari检查universal links配置是否成功。
    Safari输入Universal Links(包括完整路径)+随机字符串(apple-app-site-association文件中path下的*号),下拉页面看是否有拉起app的入口提示
    比如配置的Universal Links: https://help.wechat.com/app/
    输入safari的测试Universal Links: https://help.wechat.com/app/abc

    配置项

    举个例子:
    Universal Links域名为 https://help.wechat.com

    • 配置一:在自己的网站https://help.wechat.com根目录下配置以下json文件
      配置文件apple-app-site-association文件json内容:
      {
      "appID": "8P7343TG54.com.tencent.xin.SDKSample",
      "paths": ["/sdksample/*"]
      }
      path中必须配置*
    • 配置一:在"微信开放平台登记"以及在"openSDK"传入的Universal Links正确是:
      https://help.wechat.com/sdksample/

    • 配置二:"Xcode domains"中不包含 path, 可配置多个domain域名, 不过每个域名的根目录都应有apple-app-site-association文件
      applinks:help.wechat.com
      applinks:ive.wechat.com

    apple-app-site-association路径.

    两个目录下: 域名根目录域名根目录/.well-known/
    https://domain.com/.well-known/apple-app-site-association
    https://domain.com/apple-app-site-association

    在App第一次运行时, 若App支持Associated Domains, 我们的iOS App会自动去GET定义的Domain下的apple-app-site-association文件.

    扩展: 备忘录和safari中都可以打开app,怎么分享到其他app里面就不行了?

    未跨域导致的.
    如:分享到微信的链接是·https://domain.com/share.html,然后该网页中的“在app内打开”按钮配置的通用链接为https://domain.com/index.html
    跨域的意思是说,通用链接 和 调用通用链接的网页不要使用同一域名。
    即如果通用链接域名为domain.com,则通用链接所处的网页域名就不能是domain.com。
    只有跨域后, universal link才生效.

    相关文章

      网友评论

          本文标题:iOS 微信SDK登录/分享问题 “未验证应用”和“二次拉起”.

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