求助:Xcode真机运行React Native应用遇Connect to metro报错
解决React Native真机连接Metro报错的补充步骤
以下是你可能遗漏的关键步骤:
确保Metro服务器以正确参数启动:
启动Metro时显式指定监听所有IP和默认端口,执行命令:npx react-native start --host 0.0.0.0 --port 8081同时检查Mac防火墙是否拦截8081端口,若端口被占用,用
lsof -i :8081找到进程PID,再执行kill -9 <PID>杀掉占用进程后重新启动Metro。配置Xcode网络安全策略:
在项目的Info.plist中添加NSAppTransportSecurity字典,添加子项NSAllowsArbitraryLoads并设置为YES(Debug模式下可临时使用,Release模式建议配置具体域名白名单),允许应用访问Metro的HTTP服务。确认真机应用的网络权限:
打开手机「设置」,找到你的应用,确保「蜂窝网络」或「Wi-Fi」访问权限已开启,避免应用无法连接网络。验证Metro IP地址准确性:
在Mac终端执行ipconfig getifaddr en0获取Wi-Fi的IP地址,确认手机「Configure Bundler」中填写的IP与该地址完全一致,端口保持8081。重置React Native缓存与依赖:
依次执行以下命令清理缓存并重新安装依赖:npx react-native clean npm install之后重新运行
build:ios脚本打包。检查Xcode Build Settings配置:
- 将
Debug Information Format设置为DWARF with dSYM File; - 在Debug模式下,将
Dead Code Stripping设为NO; - 确认
Other Linker Flags包含-ObjC参数。
- 将
重启相关服务与设备:
关闭Metro服务器、Xcode,重启Mac和真机,之后重新启动Metro,再通过Xcode将项目运行到真机。
内容的提问来源于stack exchange,提问作者Roohi Mathur
相关产品推荐
相关产品推荐

