iOS经验总结

IOS 配置Universal Links

2019-12-26  本文已影响0人  angle_杰

1.Universal Link 的基本运作机制:

2.apple-app-site-association 的配置

首先放上官网文档的地址:Support Universal Links

(1)创建 apple-app-site-association 文件(文件名称不能更改)

在本地创建json文件,文件内容

{
    "applinks": {
        "apps": [],
        "details": [{
            "appID": "2QTWJE35GG.com.text.mine",
            "paths": ["/sht/*"]
        }]
    }
}

apps:为必写且固定为[]
appID:TeamID + '.' + BundleID
比如我项目的
teamID为2QTWJE35GG;
BundleID为com.text.mine,
最后appID为2QTWJE35GG.com.text.mine
paths:是一个字符串数组,对应域名中的path,用于过滤可以跳转到App的链接,支持通配符*,?以及NOT进行匹配。
details数组中可以配置多个APP的信息,如果公司内有多个APP需要支持Universal,则可以直接添加多个。

(2)将配置好的apple-app-site-association文件上传到服务器

apple-app-site-association文件需要上传到服务器的根目录下 ,也可以在根目录中添加.well-known文件夹,将文件上传到.well-known文件夹下(.点一定不能少),对应连接分别为
https://xxx/apple-app-site-association
https://xxx/.well-known/apple-app-site-association
xxx为你服务端的域名

注意:上传apple-app-site-association文件时,一定要先带文件后缀一起上传(即原文件,不要强制去掉后缀),然后在服务端重定向一个没有后缀的链接(如上面链接所示,否则通过不了 ,这里卡了一上午)。

苹果提供了一个网页来验证我们编写的这个apple-app-site-association文件是否合法有效,进入验证网址进行验证:

WeChat9c6beab9adb8b3109b16f57693b1a7d5.png

出现 Error no apps associated with url 则表明验证通过

(3)配置开发者证书

进入开发者网站,找到对应ID,开通Associated Domains,更新对应描述文件

4971577349028_.pic_hd.jpg
(4)项目配置

在TARGETS的Capablities中开启Associated domains


FEFEF99D586BB989822BDE346C82D147.png

Domains配置的内容为applinks: + 域名(即步骤二中的xxx)
比如:applinks:aliyun.sht.com

实现唤醒代理

 -(BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler{

    NSLog(@"userActivity : %@",userActivity.webpageURL.description);
    return YES;
}
验证配置

先运行项目,然后
在Safari中输入https://xxxxx/path,path是apple-app-site-association文件中配置的,下拉后出现类似下面的页面,则表示成功

LIP8n0ettnbQjXVELUmLx-T2iMXF8oZPcwgD2248WJWNm0X6QYEQ_3kgq7r28WxC.png

注意事项:
1:必须支持https
2:apple-app-site-association名称不能变
3:文件位置只有上面说的两个地方
4:teamId和bundleID要正确
5:IOS9以上

上一篇下一篇

猜你喜欢

热点阅读