iOS App Clip高级体验配置报错:URL不在关联域名中
针对你遇到的问题,虽然主应用能通过URL正常启动,但App Clip的域名关联逻辑有额外要求,以下是排查和解决步骤:
检查Expo项目的关联域名配置
在你的app.json或app.config.js中,必须添加associatedDomains数组,包含主应用和App Clip所需的域名条目,格式如下:"ios": { "associatedDomains": [ "applinks:yourdomain.com", "appclips:yourdomain.com" ] }替换成你的实际域名,确保App Clip的target能继承该配置(Expo构建时会自动处理,建议预构建后验证)。
验证Entitlements文件的正确性
执行expo prebuild生成原生iOS项目,找到主应用和App Clip对应的.entitlements文件(路径为ios/[AppName]/[AppName].entitlements和ios/[AppName]Clip/[AppName]Clip.entitlements),确认com.apple.developer.associated-domains字段包含上述applinks:和appclips:开头的域名条目。确认Bundle ID与Team ID完全匹配
核对AASA文件中的appIDs(比如XB5XPLRPRC.com.tecprods.tecprodsapp.Clip)是否和App Clip的实际Bundle ID、开发者Team ID完全一致,大小写和拼写不能有任何误差。检查AASA文件的可访问性
用终端执行命令验证AASA文件的响应:curl -v https://yourdomain.com/.well-known/apple-app-site-association确保返回状态码为200,Content-Type为
application/json,且文件内容无格式错误。Apple爬虫可能缓存旧数据,若刚更新过文件,需等待1-2小时让缓存失效。核对Apple Developer后台配置
登录Apple Developer后台,进入你的App Clip配置页面,确认关联域名已正确添加,且与Entitlements文件中的条目完全一致。
内容的提问来源于stack exchange,提问作者Siyabonga Thandiwe

