通用链接(Universal Links)早在iOS 9中就已经引入了,是一种能够方便的通过传统 HTTP 链接来启动 app的技术。实现通用链接需要以下几步:
**一、为App ID勾选Associated Domains功能
**登录苹果开发网站,找到你的应用包名App ID,勾选上Associated Domains功能,然后更新你的mobileprovision描述文件重新上传到控制台。
**二、配置UZApp.entitlements文件
**配置UZApp.entitlements文件的方式参照另一篇教程iOS修改entitlements文件,内容如下,需要把applinks:后面的内容换成你自己想要关联的域名,系统会从该域名请求一个 JSON 文件 apple-app-site-association,可以配置关联多个域名。配置完成后将UZApp.entitlements文件放置到网页包的res文件夹下,然后同步代码到云端。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:xxx.com</string>
</array>
</dict>
</plist>
复制代码
**三、上传 apple-app-site-association 文件
*这是一个JSON格式的文本文件,内容如下,其中App ID为你苹果开发者账号的团队标识和应用的包名组成,paths可以配置多个,可以直接配置"",表示整个域名下网址都支持Universal Links,添加paths的时候注意区分大小写。
{
"applinks": {
"apps": [],
"details": [
{
"appID": "6KYKP3473B.com.xxx.app",
"paths": ["/wwdc/news/*"]
}
]
}
}
复制代码
将文件放置在上面配置的域名根目录下,如果在浏览器能打开https://xxx.com/apple-app-site-association,那么说明配置成功。
注:文件保存时不要加.json后缀,必须通过https访问并且服务器CA证书需是受信任的。
四、云编译应用
安装到手机上面并打开,然后打开手机上面的备忘录,输入https://xxx.com/wwdc/news,点击该链接后能直接启动应用则说明整个流程正确。应用里面可以通过监听appintent事件来获取具体的链接地址做相应处理。
注:在web页面通过a标签跳转来拉起应用时,当前web页面地址的域名和通用链接的域名需要不同。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。