配置Associated Domains时,需要注意哪些细节?

好的,在配置 Associated Domains 时,有几个关键细节需要特别注意,这些细节直接影响 Universal Link 能否正常工作。


1. ** entitlements 文件中的域名格式 **

  • 必须包含 applinks: 前缀

    plaintext

    复制代码
    applinks:www.example.com
  • 不要加 https:// 或路径

  • 子域名需要单独配置 ,比如 applinks:blog.example.com


2. Team ID 和 Bundle ID 必须正确

  • apple-app-site-association 文件中的 appID 格式为:

    plaintext

    复制代码
    <Team ID>.<Bundle Identifier>
  • Team ID 在 Apple Developer 网站 查看

  • Bundle ID 在 Xcode 项目的 "Signing & Capabilities" 中确认


3. 服务器上的 apple-app-site-association 文件

  • 必须放在根目录或 .well-known 目录

    plaintext

    复制代码
    https://www.example.com/apple-app-site-association
    https://www.example.com/.well-known/apple-app-site-association
  • 文件不能有后缀 (不是 .json

  • Content-Type 必须是 application/json

  • 必须支持 HTTPS,且证书有效(不能是自签名证书)

  • 不能有重定向(比如 HTTP 跳转到 HTTPS 会导致验证失败)


4. paths 配置规则

  • 顺序重要:Apple 会按数组顺序匹配,找到第一个匹配项就停止

  • 通配符 * 匹配任意字符(包括子路径)

  • NOT 关键字 必须放在数组第一个位置,用于排除路径

    json

    复制代码
    "paths": ["NOT /admin/*", "/app/*"]
  • 精确匹配 :如果路径结尾不加 *,则只匹配该路径本身


5. Xcode 项目设置

  • Signing & Capabilities 中添加 Associated Domains
  • 确保 entitlements 文件被正确签名
  • 测试时使用 Ad Hoc 或 Development 证书(不能用 Enterprise 证书测试)

6. 测试和验证

  • 使用 Apple 的 App Search API Validation Tool https://search.developer.apple.com/appsearch-validation-tool/

  • 在设备上测试(模拟器可能不支持某些功能)

  • 清除之前的缓存: bash

    运行

    复制代码
    defaults delete com.apple.coreservices.useractivityd
  • 检查是否能通过链接唤醒应用,并正确跳转到指定页面


7. 常见问题排查

  • 如果链接打开了网页而不是应用,可能是:
    • apple-app-site-association 文件配置错误
    • 域名或路径不匹配
    • 证书或 HTTPS 配置问题
  • 如果应用被唤醒但没有正确处理链接,检查:
    • application:continueUserActivity:restorationHandler: 方法实现
    • userActivity.webpageURL 是否正确解析
相关推荐
YuTaoShao10 小时前
【LeetCode 每日一题】1653. 使字符串平衡的最少删除次数——(解法一)前后缀分解
算法·leetcode·职场和发展
VT.馒头10 小时前
【力扣】2727. 判断对象是否为空
javascript·数据结构·算法·leetcode·职场和发展
网络安全-杰克11 小时前
Jmeter压力测试工具安装与使用
自动化测试·软件测试·测试工具·jmeter·职场和发展
June bug11 小时前
【PMP】敏捷Scrum实践
经验分享·职场和发展·学习方法·scrum
_OP_CHEN13 小时前
【算法基础篇】(五十七)线性代数之矩阵乘法从入门到实战:手撕模板 + 真题详解
线性代数·算法·矩阵·蓝桥杯·c/c++·矩阵乘法·acm/icpc
2501_9011478313 小时前
面试必看:优势洗牌
笔记·学习·算法·面试·职场和发展
网安墨雨13 小时前
Python自动化一------pytes与allure结合生成测试报告
开发语言·自动化测试·软件测试·python·职场和发展·自动化
铉铉这波能秀13 小时前
LeetCode Hot100 中 enumerate 函数的妙用(2026.2月版)
数据结构·python·算法·leetcode·职场和发展·开发
南极星100514 小时前
我的创作纪念日--128天
java·python·opencv·职场和发展
觉醒大王1 天前
AI写的青基中了
人工智能·笔记·深度学习·学习·职场和发展·学习方法