ios进阶酷ios基础ios新版本特性与适配

iOS Universal Link(通用链接)

2017-05-22  本文已影响661人  cyh老崔

说明

此系列共有两篇文章, 如需要实现微信跳转到app功能, 阅读过此篇文章后, 可再查看此文章: iOS Universal Link 结合第三方实现微信唤起app

简介

Universal Link, 中文是通用链接. 可以通过http(s)来唤醒App.优点:

  1. 用原生的webView来打开用户浏览的文章链接
  2. 个人认为, 利用此技术可以实现Deep Link

<a href="https://developer.apple.com/library/content/documentation/General/Conceptual/AppSearch/UniversalLinks.html#//apple_ref/doc/uid/TP40016308-CH12-SW2">官方文档点击</a>

集成步骤

  1. Xcode中开启Associated Domains
  2. Associated Domains中配置支持的Domains(域名)
  1. Bundle ID开启Associated Domains
`bundle id`的配置.png
  1. 配置固定格式的一个json文件, 此文件命名为apple-app-site-association.
{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "9JA89QQLNQ.com.apple.wwdc",
                "paths": [ "/wwdc/news/", "/videos/wwdc/2015/*"]
            },
            {
                "appID": "49LBJ5Y459.com.cuiyuhe.move",
                "paths": [ "*" ]
            }
        ]
       }
}

解释:

代码中的相关支持

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity 
restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler{
    
    if ([userActivity.activityType isEqualToString:NSUserActivityTypeBrowsingWeb]) {
        NSURL *toURL = userActivity.webpageURL;
        NSString *urlString = toURL.absoluteString;
        NSString *srcHost = toURL.host;
        if ([srcHost isEqualToString:@"app.cuiyuhe.com"]) {
            
        } else {
           
        }   
    }
    return YES;
}

测试是否成功

  1. 重新下载证书, 因为之前修改了证书Associated Domains属性
  2. 在手机备忘录中输入测试链接, 如:
    http://app.cuiyuhe.com/api/v1/post/133662/
    长按有 在xx中打开提示, 即代表成功:
    配置成功截图

其它

测试配置的文件 apple-app-site-association 的 <a href="https://search.developer.apple.com/appsearch-validation-tool/">官方测试URL</a>

以上为我使用Universal Link的总结.
上一篇 下一篇

猜你喜欢

热点阅读