一、打开Associated Domains
1.首先登录 苹果开发者网站
 2.Certificates, Identifiers & Profiles 下的Identifiers 找到要配追的Identifiers 点进去
 3.打开Associated Domains然后保存
 
二、更新Profile文件
如果我们使用自动的,可以忽略这一步,手动的创建的证书,选择对应的配置文件,点击Edit进入修改页,直接点击Save,保存后点击Download下载并打开
三、在项目中添加 Associated Domains
 
打开项目Target -> signing & Capability -> + Capability -> Associated Domains
 

四、填写域名
将https://替换为applinks:
 
五、创建apple-app-site-association文件
 
创建一个纯文本,文件名字为apple-app-site-association的文件,不能有后缀
1)打开文本编辑

2)文本编辑->设置->打开和存储->☑️给纯文本添加".txt"扩展名
 
3)格式->制作纯文本

4)编辑文件内容
使用webcredentials,应用可以访问为网站存储的证书,无需用户重新输入用户名和密码。用户还可以在应用内创建新帐户,更新密码或删除帐户,Safari会保存并使用这些修改。
{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "5S9DLJKU59.com.chain.chat",
                "paths": ["/*", "/chatRoom/*", "/chatGroup/*"]
            },
            {
                "appID": "5S9DLJKU59.com.chain.chat.dev",
                "paths": ["/*", "/chatRoom/*", "/chatGroup/*"]
            },
            {
                "appID": "5S9DLJKU59.com.chain.chat.test",
                "paths": ["/*", "/chatRoom/*", "/chatGroup/*"]
            }
        ]
    },
    "webcredentials": {
        "apps": [
            "5S9DLJKU59.com.chain.chat"
        ]
    }
}
5)保存文件

其中 5S9DLJKU59为Team ID,可以在开发者账户中查找
 
 
六、上传文件到服务器
文件可以直接放在服务器的根目录或者.well-known目录下(在这两个目录下让nginx 处理 return json string也可以)
https://www.chat.io/apple-app-site-association
https://www.chat.io/.well-known/apple-app-site-association
可以通过浏览器访问这两个路径,看看有没有下载文件或者返回json
七、验证Universal Link链接是否配置正确
打开safair浏览器
 输入https://www.chat.io/chatRoom/59 ,出现在App中打开,就说明我们配置成功了
 
八、在App代理中接收
extension AppDelegate {
    func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
        guard userActivity.activityType == NSUserActivityTypeBrowsingWeb, let url = userActivity.webpageURL else {
            return false
        }
        return handleURL(url)
    }
    
    @discardableResult
    private func handleURL(_ url: URL) -> Bool {
        
        return false
    }
}
苹果官方Universal Links配置



















