美文网首页iOS经验总结
IOS 配置Universal Links

IOS 配置Universal Links

作者: 王家小雷 | 来源:发表于2020-03-17 16:13 被阅读0次

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

    • 通过在 XCode 的 App 配置中配置了相关信息以及安全域名指定
    • 通过在 Https only 的安全域名上部署一个配置 apple-app-site-association file
    • file 中配置上丰富的 website 与 app 的链接信息
    • 在 website 与 app之间建立起了安全有效的握手机制
    • 实现 website 的 url 与 app 的直接联动

    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文件是否合法有效,进入验证网址进行验证:

    image

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

    (3)配置开发者证书

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

    image
    (4)项目配置

    在TARGETS的Capablities中开启Associated domains

    image

    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文件中配置的,下拉后出现类似下面的页面,则表示成功

    image

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

    作者:angle_杰
    链接:https://www.jianshu.com/p/88be0e472986
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    相关文章

      网友评论

        本文标题:IOS 配置Universal Links

        本文链接:https://www.haomeiwen.com/subject/ufwtyhtx.html