当前位置: 代码迷 >> 综合 >> UniApp:IOS篇:通用链接【Universal Links】配置
  详细解决方案

UniApp:IOS篇:通用链接【Universal Links】配置

热度:97   发布时间:2024-01-06 03:25:48.0

在做APP的项目中遇到了,APP向微信中分享信息的需求,因此了解到了iOS的通用链接【Universal Links】,查询了诸多资料,最后搞定了,特此记录一下。

  • Dcloud问答社区:https://ask.dcloud.net.cn/article/36445
  • Dcloud问答社区:ios通用链接配置
  • 简书:iOS Universal Links教程
  • 博客园:iOS 唤起APP之Universal Link(通用链接)

第一步:开启Associated Domains服务

1.登录苹果开发者网站,在“Certificates, Identifiers & Profiles”页面选择“Identifiers”中选择对应的App ID,确保开启Associated Domains服务。
2.开启后重新生成profile文件,不然会导致无法打包

第二步:生成 apple-app-site-association.json

{  "applinks": {  "apps": [],  "details": [  {  "appID": "G56NU654TV.io.dcloud.HBuilder",  "paths": [ "/ulink/*"]  }  ]  }  
}
//apps
//--必须对应一个空的数组
//appID
//--由前缀和ID两部分组成,可以登录苹果开发者网站,在“Certificates, Identifiers & Profiles”页面选择“Identifiers”中选择对应的App ID查看
//paths
//--对应域名中的path,用于过滤可以跳转到App的链接,支持通配符*,?以及NOT进行匹配,匹配的优先级是从左至右依次降低
1.json文件需放置在 https 的域名下
例如:https://www.xxx.com/ulink/apple-app-site-association.json

第三步:在微信开放平台,给绑定的APPID配置通用链接

在绑定的APP下配置JSON文件所在的域名为通用链接:https://www.xxx.com/ulinks/

第四步:在HbuilderX的APPSDK权限配置微信相关的通用链接

第五步:在使用HBuilderX云端打包时在manifest.json中配置域名

在"plus" -> “distribute” -> “apple” -> “capabilities” -> “entitlements"节点(uni-app项目在"app-plus” -> “distribute” -> “ios” -> “capabilities” -> “entitlements”)下添加"com.apple.developer.associated-domains"字段,字段值为字符串数组,每个字符串为要关联的域名

    "capabilities": {  "entitlements": {  "com.apple.developer.associated-domains": [  "applinks:xxx.com"  ]  }  }

然后打包测试 可以实现微信分享;