You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Capacitor iOS应用Universal Link跳转失败,报SWCErrorDomain错误8

解决Capacitor应用Universal Link失效(SWCErrorDomain 8)的方案

1. 校验AASA文件的格式与内容

  • 用JSON校验工具(比如本地执行cat apple-app-site-association | jq .)检查文件是否存在语法错误,苹果SWC服务对JSON格式要求极严,哪怕是多余的逗号这类小问题都会导致校验失败。
  • 确认applinks结构合规:"apps"数组必须为空(即"apps": []),details里的appID是Team ID+Bundle ID(比如你的78A4MS27Y9.com.my-domain),paths配置无格式错误(你的"/*"是合法的)。

2. 修正AASA文件的访问路径

你当前访问的URL带有双斜杠(https://my-domain.com//.well-known/...),虽然浏览器能兼容,但SWC服务可能严格要求单斜杠路径(https://my-domain.com/.well-known/apple-app-site-association)。检查服务器配置,确保单斜杠路径能返回正确文件,清理冗余的重定向规则。

3. 检查服务器响应头

  • 用curl -I https://my-domain.com/.well-known/apple-app-site-association验证返回的Content-Type必须是application/json,不能是text/plain或其他类型。
  • 查看缓存相关响应头(如Cache-Control),若缓存时间过长,可能导致SWC获取旧文件,建议临时设置短缓存(1小时内)测试。

4. 重置SWC服务缓存

执行以下命令重置缓存并重新下载:

sudo swcutil reset
sudo swcutil dl -d https://my-domain.com --verbose

之后重启iPad,确保缓存完全清除。

5. 核对Capacitor与Xcode配置

  • 确认capacitor.config.ts中appId和appLinks配置正确:
    export default defineConfig({
      appId: 'com.my-domain',
      appLinks: {
        domains: ['my-domain.com']
      }
      // 其他配置...
    });
    
  • 打开Xcode项目,检查Signing & Capabilities里的Associated Domains是否添加了applinks:my-domain.com,无拼写错误。
  • 确保Xcode中的Team ID、Bundle ID与AASA文件里的appID完全匹配。

6. 验证触发逻辑

  • 测试链接需为完整格式(如https://my-domain.com/test),且该域名未被其他应用设为默认打开方式。
  • 进入iPad设置→你的应用→查看Associated Domains是否显示my-domain.com,若未显示,说明设备未成功获取AASA配置。

内容的提问来源于stack exchange,提问作者moonjelly

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 13:17:24