UniversalLink

iOS开发 - 微信SDK UniversalLink配置

2020-06-23  本文已影响0人  来者可追文过饰非

时间: 2020-06-23
WechatOpenSDK版本: 1.8.7.1

微信在最近的版本中将App打开微信的方式由原来的url scheme的形式,改成了universalLink的形式, 更新新版本之后微信的登录以及支付都会遇到问题(第三方登录如果是集成友盟也需要更新对应的sdk),解决方法参考如下

配置UniversalLinks

1. 前往Apple Developer 修改项目对应的App ID,使其支持UniversalLinks,然后重新生成描述文件并下载
1.png
2. 让同后端学准备一个域名,使用系统自带的文本编辑制作一个纯文本文件,文本内容如下,注意替换自己的Team ID 和 Bundle ID,然后命名为apple-app-site-association,完成之后将该文件给后端同学,将其放到域名的根目录之下,在此假设该域名为https://www.domain.com/,后边会以此为标注配置其他参数

此段为微信开发平台的一个回答 供大家参考
说一下这个坑:
举个例子:
你的域名是:https://xxx.com 你要匹配的是:https://xxx.com/app/link/
1、微信开发者 Universal Link 填写:https://xxx.com/app/link/
2、xcode 的 Associated Domains 添加 applinks:xxx.com
3、在你关联的域根目录下 创建 apple-app-site-association 文件,文件格式参照https://developer.apple.com/documentation/safariservices/supporting_associated_domains 。这里我们使用:{"applinks":{"apps":[],"details":[{"appID":"teamID.bundleID","paths":["/app/link/*"]}]}}

4、代码中注入即可

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "你的Team ID.你的Bundle ID",
                "paths": [ "*" ]
            },
            // 如果有多个APP的话,可以填写多个
        {
                "appID": "你的Team ID.你的Bundle ID",
                "paths": [ "*" ]
            }
        ]
    }
}

3. 去微信后台配置Universal Link, 如图所示,要与上文提到的后端给的域名一致,可以添加一个path,如此处配置为https://www.domain.com/ios/
2.png
4. 项目中配置,如图所示 此处应该配置applinsk:+上文提到域名去掉https://,如例所示此处应该为 applinks:www.domain.com, 此时配置完毕后,运行App,用safiri打开上文提到的域名,上端应该会显示一个横幅,提示是否在你的app中打开,点击打开的会就会直接打开App
3.png
5. 注册
// 后边的参数应与微信后台配置的UniversalLink一致
 WXApi.registerApp(WX_APP_KEY, universalLink: "https://www.domain.com/ios/")

遇到的问题

1. 配置完之后运行项目,拉不起来微信?

需要在info.plist中LSApplicationQueriesSchemes下边添加一项weixinULAPI

2. 支付完之后不走微信回调?

在Appdelegate中添加如下方法

    func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
        return WXApi.handleOpenUniversalLink(userActivity, delegate: self)
    }

至此,新版微信SDK集成完毕

上一篇下一篇

猜你喜欢

热点阅读