想起夕阳下的奔跑,那是我逝去的青春

0%

iOS深度链接唤醒app

废话也不想多说,我们直接进入主题吧,因为以前做的app有要求使用过深度链接唤醒我们自己开发的app,所以这一块还有印象~~

apple-app-site-association文件

首先,根据Apple官网的提示,你需要创建的一个 apple-app-site-association 固定名称的json文件,而且文件里面的格式也是固定的(记住,一定不要带后缀名),如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"applinks": {
"apps": [],
"details": [
{
"appID": "teamID.bundleId",
"paths": ["*"]
},
...
(可以配置多个appleId)
...
]
}
}

解读一下,teamID 你客户已在苹果开发者账号上的app里面查看到,而 bundleId 是你应用的id,其他没什么地方可以注意的了。
apple-app-site-association 文件完成之后,你需要把该文件放在 Web 服务器的根目录下面(如果作为iOS开发人员不清楚web根目录,那就请教一下你的web端开发同事吧),然后让 web 端发包,然后看能否从 ip或者域名路径下面打开这个 apple-app-site-association 文件。

应用打包前的Xcode

打包前,需要在证书里配置开通 Asssociated Domains ,也需要在Xcode里面进行配置,由于博主是Xcode11.2的版本,所以给出Xcode11.2路径:

1
2
3
项目文件TARGETS -> Signing & Capabilities -> Associated Domains -> Domains
在这里点击加号,添加一个域名配置,格式如下:
applinks:xxx.xxx.com(从applinks开始,后面的都是假设的,代表你的域名xxx.xxx.com)

测试配置

你可以使用你的iphone手机来配置是否成功,在 备忘录 里面,新建一个备忘录,在备忘录里面写入 域名(该域名和你xcode里的applinks的域名配置一样),然后长按,看是否会出现你的app,如果有则成功,没有,那就需要检查一下了,是否配置在了web服务器下,以及域名是否正确。

唤醒app

当时,我司的web开发人员,在h5端顶部添加了一个 打开 字样的按钮,用来唤醒app,大致的过程是这样的:

  • 下载app,同时在第一次打开h5页面时候,会从web根目录下载我们配置的json文件,并且存储于app沙盒内
  • 如果在app沙盒内找到对应配置,并且通过参数解析,唤醒app跳转到指定的页面