Apple App Site Association子域名配置:实现全路径Universal Links
实现app.example.com/*全路径唤起App的Universal Links配置流程
是否需要创建子域名?
需要。你得先确保app.example.com这个子域名已完成DNS解析,能正常通过HTTPS访问——苹果的爬虫需要抓取这个子域名下的关联配置文件,所以子域名必须是可访问的独立域名。
具体配置流程
1. 配置子域名DNS解析
将app.example.com解析到你的服务器或CDN地址,确保用浏览器访问该子域名能返回200状态码(无需实际页面内容,只要能访问到配置文件即可)。
2. 更新/部署apple-app-site-association文件
这个文件是苹果验证Universal Links的核心,需部署在app.example.com的根目录或.well-known目录下(推荐后者,路径为https://app.example.com/.well-known/apple-app-site-association)。
文件格式示例
{ "applinks": { "details": [ { "appIDs": [ "TEAM_ID.BundleID", // 替换成你的团队ID和App的Bundle ID "TEAM_ID.BundleID2" // 如果有多个App需要关联,可添加 ], "components": [ // 保留原example.com的规则 { "/": "/application", "comment": "原example.com的唤起路径" }, // 添加app.example.com的全路径规则 { "/": "/*", "comment": "app.example.com下任意路径均可唤起" } ] } ] } }
注意事项:
- 文件不能有
.json后缀,直接命名为apple-app-site-association - 服务器需设置该文件的
Content-Type为application/json - 确保文件无签名(iOS 9及以上版本支持无签名的配置文件,只要域名用HTTPS)
- 禁止对该文件设置重定向,苹果爬虫不跟随重定向
3. 配置Xcode中的关联域名
打开Xcode项目,进入Signing & Capabilities标签页:
- 点击
+ Capability,添加Associated Domains - 在
Domains列表中,添加applinks:app.example.com,同时保留原有的applinks:example.com(确保原路径的唤起功能正常)
4. 测试验证
- 在iOS设备的备忘录中输入
app.example.com/任意随机路径,长按链接选择“在[你的App名称]中打开”,看是否能正常唤起 - 或用Safari打开该链接,下拉页面顶部,看是否出现“打开[你的App名称]”的按钮
- 若测试失败,可尝试删除App重装、重启设备(苹果会缓存配置文件,更新后可能需要一段时间生效)
核心注意点
- 必须确保
app.example.com使用HTTPS协议,且证书是苹果信任的正规证书(不能用自签证书) - 苹果爬虫会定期抓取配置文件,若修改了文件,可能需要24-48小时才能在所有设备上生效
- 若有多个环境(开发/生产),需分别配置对应环境的子域名和关联域名
内容的提问来源于stack exchange,提问作者vukojevicf
相关产品推荐
相关产品推荐

