第一步:查看Team ID【Team ID (APP ID)】并设置 Capabilities
1.进入iOS开发者中心,选择 【Certificates,identifiers & Profiles】
2.选择 【Identifiers】,从当中找到与APP相同的 【Bundle ID】
3.进入后将APP的【Team ID (APP ID)】保存下来 【同一个账号的Team ID都是相同的】
4.向下翻,打开【Associated Domains】
第二步: 配置【apple-app-site-association】文件
1.在本地新建文件,文件名为【apple-app-site-association】,没有后缀
2.打开文件,将下面的代码复制进去
{ "applinks": { "apps": [], "details": [ { "appID": "Team ID.Bundle ID", "paths": [ "*" ] } ] } }
3.将第一步保存的【Team ID】与【Bundle ID】添加进去,并用小数点符号连接,例如:
{ "applinks": { "apps": [], "details": [ { "appID": "7A4FDG.com.aaa.app", "paths": [ "*" ] } ] } }
4.将【apple-app-site-association】文件保存好放到后台
注意事项: a.一定是https b.一定要将【apple-app-site-association】文件放在根目录或者.well-known目录下 c.打开以下【文件地址】会直接下载该文件或者直接显示该文件内容 d.不能有端口号,不能有端口号,不能有端口号(重要的事情说三遍) e."apps" 项不用管 【例如:https://aaa.github.io/apple-app-site-association】 【例如:https://bbb.github.com/.well-known/apple-app-site-association】
5.如果配置多个APP,只需要继续在"details"中添加就好了,"details"是个数组。
例如:
{ "applinks": { "apps": [], "details": [ { "appID": "7A4FDG.com.AAA.app", "paths": [ "*" ] }, { "appID": "7A4FDG.com.BBB.app", "paths": [ "*" ] }, { "appID": "7A4FDG.com.CCC.app", "paths": [ "*" ] } ] } }
第三步:做完以上操作,Universal Links的基本配置就完成了,接下来进行测试
1.进入测试页面【苹果官方测试页面】
2.将刚刚配置好并放到服务器上的【apple-app-site-association】文件域名粘贴到输入框中,例如【https://aaa.github.io】,然后点击【Test URL】
注意事项: a.不能有文件路径 b.要带上https 例如【https://aaa.github.io】
3.翻到底部,如果出现下面图片那样说明测试成功了
注意:【如果有的时候出现等等等状况有可能是网络问题,不用紧张】
如果可以通过以下【文件路径】打开文件内容或下载该文件一般就没问题,可以继续第四步
例如【https://www.aaa.com/apple-app-site-association】
或者【https://www.aaa.com/.well-known/apple-app-site-association】
第四步:配置Xcode项目中的Universal Links
1.进入到项目中选择【Signing & Capabilities】,再点击左上角加号【Capability】
2.选择【Associated Domains】,然后在里边添加一项,【applinks:域名】
注意事项: a.一定不能有https://,也要注意结尾不要有“/” b.只能是域名,不能有任何文件夹路径
例如:【applinks:aaa.github.io】
第五步:现在Universal Links已经配置完成了,测试项目是否配置成功
1.重新将App安装到手机上【debug版也是可以的】
2.将第三步的文件地址粘贴到Safari浏览器中,例如:【https://aaa.github.io】,并进入该页面
3.然后向下滑动网页,就会出现提示在APP中打开,如图【注意1, ,配置完路径不会出现下图中的情况,可以先不配路径使用默认通配符(默认通配符就是星号),成功出现下图情况后再配路径(路径配置教程在后边)】
【注意2,如果并没有配置路径,,因为本人也遇到过不成功但是可以成功跳转的问题。直接去App进行跳转测试就好了!】
4.至此,Universal Links已经完全配置成功了,可以去试试微信登录跳转之类都是没有问题的。最终,你APP的Universal Links就为:【https://aaa.github.io】
例如,在开发者中心注册微信应用时,需要添加Universal Links,但是微信要求以“/”结尾,那么应该填【https://aaa.github.io/】
同样,App内使用微信SDK注册时,开发者中心填的啥,这里的 Universal Links 就填一样的。
1. 微信开放平台 Universal Links: 【https://aaa.github.io/】
2. Xcode中 Targets Domains: 【applinks:aaa.github.io】
3. APP启动时,微信SDK进行注册 Universal Links:【 https://aaa.github.io/】
喜欢就点个赞吧
补充:Paths路径的用法
1.Paths路径的用处:
当【apple-app-site-association】文件中,"details"数组添加了多个app对象,并且你的手机上同时安装着这些App时,就需要用path路径对App进行区分。如果不区分就会导致App跳转错误,因为他们的Universal Links都是相同的。
2.如何使用Paths
使用Paths很简单,只需要在paths中添加【"/aaa/*"】(aaa为任意内容,*号为通配符),例如:
{ "applinks":{ "apps":[], "details":[ { "appID":"7A4FDM.com.aaa.app", "paths":["/aaa/*"] }, { "appID":"7A4FDM.com.bbb.app", "paths":["/bbb/*"] }, { "appID":"7A4FDM.com.ccc.app", "paths":["/ccc/*"] } ] } }
3.这样添加完后,还需要更改第三方平台注册时的Universal Links。
我们以微信为例,在原有的基础上添加上路径例如:原本的Universal Links为 https://aaa.github.io/
a3.现在为了区分同一个手机上,同一个账号发布的多个App,而加入了路径"details":[ { //这是AppA "appID":"7A4FDM.com.aaa.app", "paths":["/aaa/*"] }, { //这是AppB "appID":"7A4FDM.com.bbb.app", "paths":["/bbb/*"] } ]
b3.将【apple-app-site-association】放到服务器中,并更改A微信平台的Universal Links
c3.Xcode中Targets配置的Universal Links不需要变,依然为【applinks:aaa.github.io】
d3.然后修改代码中注册微信时的Universal Links为【b3步骤图中】你填写的新Universal Links,例如:https://aaa.github.io/aaa/
1. 微信开放平台 Universal Links: 【https://aaa.github.io/aaa/】
2. Xcode中 Targets Domains: 【applinks:aaa.github.io】
3. APP启动时,微信SDK进行注册 Universal Links:【 https://aaa.github.io/aaa/】
注意:
1.添加paths路径时,应该
否则会优先跳转到没有路径的app。2.配置了路径后,使用Safari浏览器下滑并不会出现打开App的提示,
禁止白嫖,这次一定 !