iOS开发 iOS14以上配置Universal Link(通用链接)

前言

接到微信那边的通知:微信支付将强制要求APP在2022年1月1日后升级微信OpenSDK到1.8.6版本以上。而升级OpenSDK到1.8.6以上必须配置https和使用Universal Link,不然无法使用微信SDK的注册id方法。本人已经查阅网上好多文章,但遗憾的是大部分文章都是旧版本的配置方式,将我引入歧途,导致我走了很多弯路。为了让大家少走弯路,也为了自己辛苦开发的日日夜夜,谨以此文祭奠逝去的岁月。

apple-app-site-association 设置

与以前的方法不同,必须将文件放在站点的.well-known目录中,文件的URL应该匹配以下格式:

https:///.well-known/apple-app-site-association

其实,苹果只需要获取这个路径下的json。因此并不是文件下载下来就是成功的,而是打开上面的链接返回配置的json数据才算成功。
参考微信返回的json数据,(注意:微信配置json还是旧格式)。

https://weixin.qq.com/apple-app-site-association

apple-app-site-association 内容

iOS13以前旧版本

{
    "applinks": {
        "apps": [],
        "details": [{
            "appID": "你的TeamID.你的Bundle ID",
            "paths": ["*"]
            }]
    }
}

iOS14以后新版本

{
    "applinks": {
        "details": [
            {
                "appIDs": [
                    "你的第一个APPTeamID.你的Bundle ID"
                ],
                "components": [
                    {
                        "/": "/firstApp/*",
                        "comment": "Matches any URL whose path starts with /firstApp/"
                    }
                ]
            },
            {
                "appIDs": [
                    "你的第二个APPTeamID.你的Bundle ID"
                ],
                "components": [
                    {
                        "/": "/secondApp/*",
                        "comment": "Matches any URL whose path starts with /secondApp/"
                    }
                ]
            }
        ]
    },
    "webcredentials": {
        "apps": [
            "你的第一个APPTeamID.你的Bundle ID",
            "你的第二个APPTeamID.你的Bundle ID"
        ]
    },
    "appclips": {
        "apps": []
    }
}

本地测试

1.到 Certificates, Identifiers & Profiles 中 选中Identifiers 开启Associated Domains功能
2.Xcode配置好applinks:域名(注意不要带https://)
3.重新自动配置好证书,删除APP,重新安装。
4.在备忘录那边粘贴配置的链接。点击会自动跳转到自己生成的APP即表示通用链接配置成功了。链接举例:

https:///firstApp/

参考资料如下:

苹果最新版配置通用链接文档 Supporting Associated Domains | Apple Developer Documentation
iOS 唤起APP之Universal Link(通用链接) - (jianshu.com)

你可能感兴趣的:(iOS开发 iOS14以上配置Universal Link(通用链接))