iOS 通用链接的配置(Universal Links)
一、打开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配置