使用Expo与React Navigation配置Universal Links时关联域自动禁用的问题排查求助
我目前因为项目技术债的限制,必须同时使用React Navigation和Expo,暂时没法切换到Expo Router,但在配置Universal Links时快被逼疯了!我严格跟着Expo的官方教程和React Navigation的文档一步步操作,却始终卡在了同一个问题上。
先跟大家梳理下我已经完成的所有配置细节:
1. Expo项目app.json配置
我在app.json的iOS模块中已经正确配置了关联域,并且bundle ID和后续所有配置保持一致:
// ... "ios": { "supportsTablet": true, "bundleIdentifier": "com.cjoshmartin.pokemon", "associatedDomains": [ "applinks:pokemon-web-chi.vercel.app" ] }, // ...
2. React Navigation Linking配置
在src/App.tsx的导航容器配置中,我启用了自动链接,并添加了所有需要的前缀,确保覆盖了App内Scheme和网站域名:
linking={{ enabled: 'auto', prefixes: [ prefix, 'pokemon://', 'http://pokemon-web-chi.vercel.app', 'https://pokemon-web-chi.vercel.app', 'https://pokemon-web-chi.vercel.app/pokemon/*', 'http://pokemon-web-chi.vercel.app/pokemon/*', ], // 其他路由映射配置... }}
3. 网站端apple-app-site-association配置
我在Next.js网站的.well-known目录下放置了符合Apple要求的关联配置文件,文件可以通过网站域名正常访问:
{ "applinks": { "details": [ { "appID": "HJXLN2SCZS.com.cjoshmartin.pokemon", "paths": ["/pokemon/*"] } ] } }
核心问题
当我执行eas build --platform ios --profile production构建iOS生产包时,日志里明确输出:
✔ Synced capabilities: Disabled: Associated Domains
关联域功能被自动禁用了!而我按照相同的流程配置Expo Router的示例项目时,一切都能正常工作,换成React Navigation就出现了这个异常。
我已经反复核对了bundle ID、域名匹配、前缀配置等所有细节,确认没有错误,但就是找不到问题所在。有没有朋友遇到过类似的情况?到底是哪里的配置遗漏导致构建时关联域被自动关闭?
内容来源于stack exchange
相关产品推荐
相关产品推荐

