React Native执行npx react-native run-ios提示缺少jsbundle或打包服务未运行
解决React Native iOS执行
npx react-native run-ios报错问题 错误详情
执行npx react-native run-ios运行React Native iOS项目时触发如下报错:
Make sure you're running a packager server or have included a .jsbundle file in your application bundle. RCTFatal 28—[RCTCxxBridge handleError:]_block_invok e _dispatch_call_block_and_release _dispatch_client_callout _dispatch_main_queue_callback_4CF _CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_Q UEUE _CFRunLoopRun CFRunLoopRunSpecific GSEventRunModal —[UlApplication _run] UIApplicationMain main start
已验证无效方案:修改运行端口、降级node模块、降级React Native及项目版本、升级Firebase到最新版后重新安装、杀死占用对应端口的运行进程。
可行解决方案
按优先级依次尝试以下操作:
- 全量清理缓存并重新构建依赖
项目根目录按顺序执行命令:
执行完成后重新运行项目验证。rm -rf node_modules package-lock.json yarn.lock npm install cd ios && rm -rf Pods Podfile.lock build pod install --repo-update cd .. - 校验Xcode构建阶段配置
打开Xcode加载iOS项目,进入Build Phases栏,找到Bundle React Native code and images阶段,确认执行脚本为默认配置:
同时确认当前运行的Scheme的Build Configuration为Debug模式,未被误切换为无本地jsbundle的Release模式。set -e export NODE_BINARY=node ../node_modules/react-native/scripts/react-native-xcode.sh - 清理Xcode编译缓存
Xcode中按快捷键Command+Shift+K清理构建缓存,再进入Product->Scheme->Edit Scheme->Build,取消勾选Parallelize Build,勾选Find Implicit Dependencies后重新运行项目。 - 校验本地网络权限配置
打开iOS项目的Info.plist文件,确认NSAppTransportSecurity配置项中NSAllowsArbitraryLoads值为YES,允许Debug模式下加载本地packager的http资源。 - 分离启动打包服务和项目运行流程
先在根目录执行npm start -- --reset-cache单独启动打包服务,再新开终端窗口执行npx react-native run-ios,避免服务启动时序问题导致资源加载失败。
内容的提问来源于stack exchange,提问作者Rashid Ali
相关产品推荐
相关产品推荐

