• Universal Links在Swift上的应用


    Universal Links

    通用链接(Universal Link)是iOS9推出的一项新功能,如果你的应用(app)支持通用链接(Universal Link)之后,iOS用户能够在点击网页的链接的时候无缝的重定向到已经安装的app,不需要额外的任何操作。如果没有安装对应的app,那么点击链接会使用Safari打开网页。在iOS9以前,对于各种浏览器,Safari中唤醒app的需求,我们通常是只能使用scheme的方式。

    为何要使用Universal Links

    原本App的微信分享仅使用了原生分享组件UIActivityViewController,上手体验并不好(明文显示分享链接、无内容来源展示、布局不美观...),于是有了接入微信sdk分享的需求。在查看微信官网文档(iOS接入指南)时第一次接触到Universal Links这个名词,于是有了这篇文章。

    开始配置

    Support Universal Links  先附上苹果官方文档

    使用要求

    1.有一个自己的域名,该域名支持https请求且CA证书有效

    2.上传一个json文件到服务器

    使用步骤

    1.在Xcode中打开Associated Domains

     

     
    Associated Domains设置步骤

    提示:可在第二步上方的➕中找到Associated Domains选项

    2.设置apple-app-site-association文件

    ⑴ 创建一个文件(无后缀),其内容为json数据,格式如下:

    {"applinks":{"apps":[],"details":[{"appID":"TEAMIDSHSAUX.com.test.bundle","paths":["*"]}]}}

    其中appID是由TeamID.BundleID组成。TeamID可在开发者中心查看,BundleID可在Xcode中查看。paths是App的路径支持列表,一般填写*即可。

    ⑵ 创建好该文件后将其上传到服务器上,放在/var/html/.well-known路径下(.well-known可能是隐藏的)。

    ⑶ 在浏览器中访问https://你的域名/.well-known/apple-app-site-association,如果正确显示其内容或者下载文件并确认其中内容无误,那么大喊伞兵一号服务器准备就绪

    ⑷ 其实苹果官方提供了一个检测开发者服务器是否支持Universal Links的网站,将刚刚配置好的链接https://你的域名/.well-known/apple-app-site-association填写至该网站并检测后稍等一会,如果你的显示和我一样,那么恭喜你。

     

     
    成功截图

    ⑸ 模拟器测试

    重新编译一次App,在Simulator中打开safari,输入你的域名,向下拉动页面,如果看到打开App的提示,Universal Links就已经配置成功了。

     
    safari打开链接成功

    3.在AppDelegate中处理

    func application(_application:UIApplication, continue userActivity:NSUserActivity, restorationHandler:@escaping([UIUserActivityRestoring]?) ->Void) ->Bool中获取链接并处理,我这里获取的是微信的跳转,所以用的是微信SDK的方法。

     
  • 相关阅读:
    表单传文件值读取不到
    tomacat启动慢
    finder文件目录跳转快捷键
    ziparchiver添加后编译出错
    mjrefresh源码分析
    Code Sign error: No unexpired provisioning profiles found that contain any of the keychain's signing certificates
    java web学习
    Java HashMap
    Java Convert String to Binary
    Java ArrayList Class
  • 原文地址:https://www.cnblogs.com/baitongtong/p/13933741.html
Copyright © 2020-2023  润新知