iOS Universal link

作者: 目染江夏 | 来源:发表于2020-07-16 17:07 被阅读0次

    app 使用微信登录 需要适配 Universal link

    步骤一:

    让后台准备一个 apple-app-site-association 文件 放在网站的根目录下 并且确保能访问到内容,文件名不要后缀
    文件内容格式:

    {
        "applinks": {
            "apps": [],
            "details": [
                {
                    "appID": "teamId.bunldeId",
                    "paths": [
                        "/app/*"
                    ]
                }
            ]
        }
    }
    

    正确返回实例:
    https://help.wechat.com/apple-app-site-association

    appID 为 team id + “.” + bunlde id
    paths 为指定路径能获取到 ,若为 "/*" 则是官网地址下都能获取到 ,微信建议增加个路径

    检测方法: https://search.developer.apple.com/appsearch-validation-tool/

    输入设置好的路径 例如: 截屏2020-07-16 下午4.51.28.png

    能正确返回 名称 描述就是配置好了

    步骤二:
    在微信开放平台增加 universal link

    WechatIMG28.jpeg

    步骤三:
    到开发者中心,把对应id下的Associated Domains 勾选上


    截屏2020-07-16 下午4.54.25.png

    然后到项目中 targets-signing&capabilities 中增加Associated Domains
    内容为 applinks:help.wechat.com (help.wechat.com:配置文件的域名)
    注意 debug release


    WechatIMG26.jpeg

    步骤四:

    代码设置

           // 在  didFinishLaunchingWithOptions 方法中设置
            WXApi.registerApp(KYConstants.kWXAppID, universalLink: "https://help.wechat.com/")
             
            /// 打开调试日志
            UMSocialManager.default()?.openLog(false)
            UMConfigure.initWithAppkey(KYConstants.kUMengAppKey, channel: "App Store")
            
            //打开图片水印
            UMSocialGlobal.shareInstance()?.isUsingHttpsWhenShareContent = false
            
            // 配置微信平台的Universal Links
            UMSocialGlobal.shareInstance()?.universalLinkDic = ["UMSocialPlatformType_WechatSession":"https://help.wechat.com/"]
            //设置微信的appKey和appSecret
            UMSocialManager.default()?.setPlaform(.wechatSession, appKey: KYConstants.kWXAppID, appSecret: KYConstants.kWXAppSecret, redirectURL: " ")
    
    

    回调处理

        /// 友盟微信登录
        func wxLogin() {
            
            if UMSocialManager.default()?.isInstall(.wechatSession) == false {
                log("未安装微信")
                return
            }
            UMSocialManager.default()?.getUserInfo(with: .wechatSession, currentViewController: nil) { (result, error) in
                if error == nil {
                    if let resp = result as? UMSocialUserInfoResponse {
                        // 授权信息
                    }else {
                        log("获取失败")
                    }
                    
                }else {
                    log("获取错误")
    
                }
            }
        }
    

    相关文章

      网友评论

        本文标题:iOS Universal link

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