最近项目中需要用到从网页端打开App的功能,之前记得用的url scheme的形式来调用App,可以在不同的App之间跳转;现在需要从网页跳转到App,就调研了一下,把过程记录下来
之前项目代码中用的到微信SDK版本比较低,更新之后用不了,看微信文档需要使用universal link,但是因为不太懂就退回到之前版本,还能使用,只是会提示未验证应用,因为还可以用就没更新
一、自己来
- 生成apple-app-site-association文件;
复制下面内容到文件中,修改TeamId和BundleId,保存为apple-app-site-association,没有后缀名;
把这个文件放到网站的根目录下;{ "applinks": { "apps": [], "details": [ { "appID": "TeamId.BundleId1", "paths": [ "/path1/*" ] }, { "appID": "TeamId.BundleId2", "paths": [ "/path2/*" ] } ] } }
- 配置开发者证书;
进入开发者网站,点击Certificates, Identifiers & Profiles
,点击Identifiers
,点击bundle id
进入Edit your App ID Configuration
,打开Associated Domains
开关;重新生成profile 文件,并下载安装 - 配置xcode项目;
点击Project
-Signing & Capabilities
-Associated Domains
,在里面添加配置过的域名,以applinks:test.example.com
这种形式,前面是applinks开头而不是https
二、用第三方
- 发现有第三方可以直接生成universal link,这里用的openinstall,需要注册,使用免费版本即可
- 按照文档一步一步集成即可,有iOS版,安卓版和Web的,可以不用他们的web版,直接使用iOS版对应的universal link,自动生成的链接类似这种
https://q1ynhc.openinstall.io/ulink
三、遇到的问题
- 按照要求把apple-app-site-association文件放在网站的根目录下,但是打开还是没用。用微信分享SDK里的校验方式校验没问题,用苹果官方的校验网站校验不通过,还以为是域名的问题,最后发现啥也没改第二天就可以了,配置完后需要时间才能生效
- 因为中间进行过App转移,导致openinstall生成的链接不能用了,然后就自己配置了一遍,发现也挺简单的