iOS开发 UniversalLinks支持通用链接。

介绍

UniversalLinks 是iOS9退出的一个新特性,其作用为离开传统的scheme://方式外也可以启动app,方便在h5中调用app。(原https网页中 如采用iframe方式 调起app ,但https中的iframe.src应为https地址,故而对scheme://方式的兼容性并不到位。如为http方则没有这个问题)。

作用:
1、在浏览器(safari)中H5中将加上“打开app”的按钮。
2、允许再微信等app中启动自己的app (本人实测微信中不是所有情况都可以)

实现步骤:(下列苹果开发者文章中有详细的介绍,我这边再做简单的介绍)

1、工程(target)设置->capabilities->Associated Domain->开启此项,增加条
“applinks:域名” 可以支持多条, 安装app 后如果采用浏览器访问这些域名下的h5,ios将会请求域名目录下的另外一个文件

2、在服务器上配置apple-app-site-association文件,不应该有扩展名。
文件响应头内容类型应为: Content-type: text/json; charset=UTF-8
文件内容如下:

{
  "applinks": {
      "apps": [],
      "details": [
          {
              "appID": "appleID可在苹果后台查询到  teamId.Bundleid",
              "paths": [ "*" ]
          }
      ]
  }
}

//paths属性支持多个,也支持*通配符,在访问这些路径的时候UniversalLinks将会起作用。

3、实现代理

-(BOOL) application:(UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray * _Nullable))restorationHandler
{
    if([userActivity.activityType isEqualToString: NSUserActivityTypeBrowsingWeb])
    {
        NSString* url = userActivity.webpageURL.path;
       //此处处理代码为实现路由等更好的支持。
        return YES;
    }
    return NO;
}

苹果官方文档:
https://developer.apple.com/library/content/documentation/General/Conceptual/AppSearch/UniversalLinks.html#//apple_ref/doc/uid/TP40016308-CH12

iOS开发 UniversalLinks支持通用链接。》有2个想法

  1. Pingback引用通告: iOS 从URL启动App与openURL | 孙广锋的博客

评论已关闭。