React Native 0.73.6:iPhone无法连接Metro bundler问题求助
可能的原因及解决办法
1. Metro缓存堆积导致不更新
- 关掉当前运行的Metro服务,执行缓存重置命令:
npx react-native start --reset-cache - 重启项目后再尝试刷新bundle。
2. iOS应用网络权限配置不全
虽然已经允许本地网络访问,但Info.plist可能缺关键配置:
- 检查
Info.plist,确保添加NSAllowsLocalNetworking并设为YES; - 确认
NSAppTransportSecurity下的NSAllowsArbitraryLoads已开启(调试阶段可临时启用,发布时再调整)。
3. Metro未绑定到局域网IP
Metro默认可能只监听localhost,导致真机无法正常通信:
- 启动Metro时指定监听所有网络接口:
npx react-native start --host 0.0.0.0 - 或者在
metro.config.js里配置server.host为0.0.0.0,让服务监听所有可用IP。
4. Xcode调试会话缓存异常
- 彻底关闭Xcode和真机调试会话;
- 清理构建缓存:点击
Product > Clean Build Folder(快捷键Cmd+Shift+K); - 删除项目的
DerivedData目录,重新编译运行。
5. 防火墙或代理拦截请求
- 检查Mac防火墙设置,允许node进程(Metro Bundler)通过局域网通信;
- 关闭iPhone或Mac上的代理工具(如Charles、VPN),避免拦截本地网络请求。
6. Bundle构建脚本配置问题
- 检查Xcode的
Build Phases中,Bundle React Native code and images脚本是否配置正确; - 手动执行bundle构建命令,验证能否生成有效文件:
npx react-native bundle --entry-file index.js --platform ios --dev true --bundle-output ios/main.jsbundle --assets-dest ios
内容的提问来源于stack exchange,提问作者DanDance
相关产品推荐
相关产品推荐

