废话也不想多说,我们直接进入主题吧,因为以前做的app有要求使用过深度链接唤醒我们自己开发的app,所以这一块还有印象~~
apple-app-site-association文件
首先,根据Apple官网的提示,你需要创建的一个 apple-app-site-association 固定名称的json文件,而且文件里面的格式也是固定的(记住,一定不要带后缀名),如下
1 | { |
解读一下,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 | 项目文件TARGETS -> Signing & Capabilities -> Associated Domains -> Domains |
测试配置
你可以使用你的iphone手机来配置是否成功,在 备忘录 里面,新建一个备忘录,在备忘录里面写入 域名(该域名和你xcode里的applinks的域名配置一样),然后长按,看是否会出现你的app,如果有则成功,没有,那就需要检查一下了,是否配置在了web服务器下,以及域名是否正确。
唤醒app
当时,我司的web开发人员,在h5端顶部添加了一个 打开 字样的按钮,用来唤醒app,大致的过程是这样的:
- 下载app,同时在第一次打开h5页面时候,会从web根目录下载我们配置的json文件,并且存储于app沙盒内
- 如果在app沙盒内找到对应配置,并且通过参数解析,唤醒app跳转到指定的页面