当前位置: 首页 > news >正文

iOS Universal Links 配置

前言

Universal Links 通用链接,我的理解就是通过点击这个链接,能够打开应用,还可以根据配置的路径和参数跳转到App内指定页面和传递参数。我们做微信QQ登录分享时会要求配置这个链接。网上有很多文章介绍了如何配置,但是每次随便搜一篇来照着操作,总是会遇到问题,算了还是自己花点时间记录一下吧!

这里记录一下参考的文档,大家也可以直接移步过去,记录的原因主要是万一以后我文章的步骤过时啦,就可以去这几个官方的地方瞅瞅!

Apple developer:https://developer.apple.com/documentation
微信文档:https://developers.weixin.qq.com/doc
Flutter文档:https://docs.flutter.dev/cookbook/navigation
支付宝文档:https://opendocs.alipay.com

工具:Xcode 15.2
域名:假设我们的域名是 example.com

配置Universal Links 分为四个步骤

  1. Xcode 配置 Associated Domains
  2. 创建 apple-app-site-association 文件并放在指定域名目录下
  3. Appdelegate 处理回调
  4. 验证 Universal Links 是否配置成功

1. Xcode 配置 Associated Domains

  1. 点击项目 target
  2. 点击 Signing & Capabilities
  3. 点击 + Capability
  4. 选择 Associated Domains
    在这里插入图片描述
  5. 在 Associated Domains 里 点击 +
  6. 输入applinks:example.com 将 example.com 替换成你自己的域名
    在这里插入图片描述

2. apple-app-site-association 文件

2.1 制作apple-app-site-association

要求

  1. 文件内容要使用json格式
  2. 保存时不要包含.json 以及其它任何的扩展名
  3. 文件命名必须是apple-app-site-association

示例:

{
"applinks":{"apps":[],"details":[{"appID":"NR984AR84W.com.example.deeplink","paths":["/example/*"]}]}
}

apple-app-site-association 文件已上传请到绑定资源查看

参数说明:

  • appID组成:<team id>.<bundle id>
    team id 获取:登录开发者账号找到团队id,就是team id在这里插入图片描述bundle id 获取:用Xcode 打开项目查看
    在这里插入图片描述
  • paths:我们一般会配置通配符,为了适配微信、支付宝的跳转要求
    这是微信接入文档截图
    在这里插入图片描述

2.2 上传 apple-app-site-association文件

  1. Universal Links 必须支持https
  2. 将文件放到域名下的.well-known子目录中:完整路径如下
https://域名/.well-known/apple-app-site-association
  1. 验证文件路径:将路径在浏览器中打开,可以看到内容或者能够下载文件都可以

3. Appdelegate 实现回调

application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool{Return  trun
}

4. 验证 Universal Links 是否配置成功

  1. 打开备忘录App
  2. 添加Universal Links 到备忘录
Universal Links: 
https//example.com/example/
  1. 点击URL,如果配置成功,就会打开app

结语

本文分享的只是纯粹的iOS Universal Links 配置步骤,功能仅仅是点击Universal Links打开app。当你要接入微信和支付宝的功能时,还会有其它的一些配置,请按照对应的官方文档进行配置就可以了。


感谢您的阅读和参与,HH思无邪愿与您一起在技术的道路上不断探索。如果您喜欢这篇文章,不妨留下您宝贵的赞!如果您对文章有任何疑问或建议,欢迎在评论区留言,我会第一时间处理,您的支持是我前行的动力,愿我们都能成为更好的自己!

相关文章:

  • 算法家族之一——二分法
  • Blender + Marvelous Designer(MD)服装,Quad Remesher四边面拓扑布线、UV投射
  • 【ARM Cache 系列文章 1.1 -- Cache size 读取详细介绍及代码实现】
  • STM32F103单片机工程移植到航顺单片机HK32F103注意事项
  • Diffusers代码学习: T2I Adapter
  • 在vscode 中使用npm的问题
  • 【Spring Boot】异常处理
  • cad导入su线条不在一个平面怎么办?
  • Java | Leetcode Java题解之第132题分割回文串II
  • 分享一个用python写的本地WIFI密码查看器
  • 【risc-v】arm和riscv有什么关系或者联系?
  • Elasticsearch 管道查询语言 ES|QL 现已正式发布
  • 归一化在神经网络训练中的作用
  • 如何在React中创建自定义Hooks
  • python数据分析-ZET财务数据分析
  • php的引用
  • 【知识碎片】第三方登录弹窗效果
  • avalon2.2的VM生成过程
  • es6--symbol
  • exif信息对照
  • extjs4学习之配置
  • Github访问慢解决办法
  • HashMap剖析之内部结构
  • Javascript编码规范
  • maven工程打包jar以及java jar命令的classpath使用
  • php的插入排序,通过双层for循环
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • webpack4 一点通
  • 构建工具 - 收藏集 - 掘金
  • 聊聊flink的BlobWriter
  • 深入浅出Node.js
  • 微信支付JSAPI,实测!终极方案
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • 1.Ext JS 建立web开发工程
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • ​io --- 处理流的核心工具​
  • ​渐进式Web应用PWA的未来
  • #QT(QCharts绘制曲线)
  • #数学建模# 线性规划问题的Matlab求解
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • (1)Android开发优化---------UI优化
  • (9)目标检测_SSD的原理
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • *2 echo、printf、mkdir命令的应用
  • .Family_物联网
  • .gitignore
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET 3.0 Framework已经被添加到WindowUpdate
  • .NET 设计模式初探
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args
  • .NET/C# 使窗口永不获得焦点