iOS通用链接(通用链接)配置详解

  

<强> iOS通用链接(通用链接)配置

  

<强>什么是通用链接?

  

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

  

<强>为什么要突然改用通用链接的配置方式?

  

我们的项目中唤起第三方应用一般是通过配置对应的URL方案的方式使用的,微信SDK的最新版本openSDK1.8.6由于苹果iOS 13系统版本安全升级,为此openSDK在1.8.6版本进行了适配。1.8.6版本支持普遍的联系方式跳转,对openSDK分享进行合法性校验,提升使用过程中的安全性。

  

<>强要求在注册微信appid时,必须要传入universalLink,以前的方法在旧版本仍然可使用,所以就开始研究通用链接(通用链接)的配置

        @ interface WXApi: NSObject/* !@brief WXApi的成员函数,向微信终端程序注册第三方应用。   *   *需要在每次启动第三方应用程序时调用。   * @attention请保证在主线程中调用此函数   * @param appid微信开发者ID   * @param universalLink微信开发者普遍联系   * @return成功返回是的,失败返回不。   */   + (BOOL) registerApp:(NSString *) appid universalLink: universalLin (NSString *)   之前      

  

1,创建json格式的一个空文件(取名必须为apple-app-site-association,并且没有后缀)
  

  

 iOS通用链接(通用链接)配置详解

  
      <李>这里的appID是指:TeamID + BundleId的组成(例:9 ja89qqlnq.com.apple.test) (TeamID可以在开发者账号里面查看,BundleId是项目的包标识符)。   <李>这里的路径是指:是设置允许的路径列表,可以是一个也可以是多个,最简单的方式是使用“*”,通配符,表示允许该域名下的任意路径。(注意:路径中的大小写是敏感的,一定要一一对应)   
  

2,上传apple-app-site-association文件(这里就能拿到应用程序中配置需要的域名)

  

(1)将apple-app-site-association文件发给服务器端的同的事,让他上传到域名的根目录下或者.well-known的子目录下(这里的域名必须要是可访问的域名,由服务器端的同事给到)。

  

(2) Web服务器需要支持https,客户端通过https来访问,并且不支持重定向。

  

3,在应用中处理通用链接

  

(1)添加对应的域名(上面知道的域名)到功能
  

  

 iOS通用链接(通用链接)配置详解“> <br/>
  </p>
  <p>在项目里面定位到能力,找到相关域,点击允许按钮,在域名中添加对应的域名。(<强>领域中的域名必须是使用applinks开头,然后输入自己的域名即可。注意:当应用第一次启动之后,会自动从你自己的域名目录下下载这个apple-app-site-association文件。</强> </p>
  <p>注:这里可能会遇到一个错误就是你的应用程序ID中并没有允许使用相关域,所以需要进入开发者中心,编辑App ID允许相关领域,并且重新生成对应的签证文件并下载安装。在最新xcode11,添加了该项,开发者账号该appId下自动打开<br/>
  </p>
  <p> <img src=

  

(2)实现AppDelegate里支持通用链接的实现方法

        - (BOOL)应用程序:UIApplication(*)应用continueUserActivity: (NSUserActivity *) userActivity restorationHandler:(空白(^)(NSArray比;* _Nullable) restorationHandler {//自己的实现代码      返回(WXApi handleOpenUniversalLink: userActivity委托:自我);   }      

这里如果是从旧版更新WechatOpenSDK1.8.6版本的话,需要在这个里面调用微信里的这个方法,并且在Xcode中,选择你的工程设置项,选中“目标”一栏,在“信息”标签栏的“LSApplicationQueriesSchemes”添加weixin和weixinULAPI,可通过微信开放平台的接入文档步骤一步步进行修改或添加。
  

  

 iOS通用链接(通用链接)配置详解

iOS通用链接(通用链接)配置详解