iOS 通用链接(通用链接(Universal Link)配置详解)配置详解
iOS 通用链接(通用链接(Universal Link)配置)配置
什么是通用链接?什么是通用链接?
通用链接是iOS9推出的一项新功能,如果你的应用(app)支持通用链接(Universal Link)之后,iOS用户能够在点击网页的链接的时候无缝的重
定向到已经安装的app,不需要额外的任何操作。如果没有安装对应的app,那么点击链接会使用Safari打开网页。在iOS9以前,对于各种浏览
器,Safari中唤醒app的需求,我们通常是只能使用scheme的方式。
为什么要突然改用通用链接的配置方式?为什么要突然改用通用链接的配置方式?
我们的项目中唤起第三方app一般是通过配置对应的URL Scheme的方式使用的,微信SDK的最新版本openSDK1.8.6 由于苹果iOS 13系统版本安
全升级,为此openSDK在1.8.6版本进行了适配。 1.8.6版本支持Universal Links方式跳转,对openSDK分享进行合法性校验,提升使用过程中的安
全性。
要求在注册微信要求在注册微信appid时,必须要传入时,必须要传入universalLink,以前的方法在旧版本仍然可使用。所以就开始研究通用链接(,以前的方法在旧版本仍然可使用。所以就开始研究通用链接(Universal Link)的配置)的配置
@interface WXApi : NSObject
/*! @brief WXApi的成员函数,向微信终端程序注册第三方应用。
*
* 需要在每次启动第三方应用程序时调用。
* @attention 请保证在主线程中调用此函数
* @param appid 微信开发者ID
* @param universalLink 微信开发者Universal Link
* @return 成功返回YES,失败返回NO。
*/
+ (BOOL)registerApp:(NSString *)appid universalLink:(NSString *)universalLin
如何配置通用链接?如何配置通用链接?
1、创建json格式的一个空文件(取名必须为apple-app-site-association,并且没有后缀)
这里的appID是指:TeamID+BundleId的组成(例:9JA89QQLNQ.com.apple.test)(TeamID可以在开发者账号里面查看,BundleId是项目的
Bundle Identifier)。
这里的paths是指:是设置允许的路径列表,可以是一个也可以是多个,最简单的方式是使用“*”,通配符,表示允许该域名下的任意路径。(注
意:paths中的大小写是敏感的,一定要一一对应)
2、上传apple-app-site-association文件(这里就能拿到app中配置需要的域名)
(1)将apple-app-site-association文件发给服务器端的同事,让他上传到域名的根目录下或者.well-known的子目录下(这里的域名必须要是可访
问的域名,由服务器端的同事给到)。
(2)Web server需要支持https,客户端通过https来访问,并且不支持重定向。
3、在app中处理通用链接
(1)添加对应的域名(上面知道的域名)到Capabilities