React Native中“Loading from metro”页面仅用于开发?能否移除?
React Native默认模板中“Loading from metro”页面的相关问题解答
生产环境(上架App Store)自动消失
- 这个“Loading from metro”页面是开发环境专属的,只有在你通过Metro服务器加载调试代码时才会显示。
- 当你打包生产版本(比如执行
react-native run-ios --configuration Release,或者通过Xcode打Release包)时,应用会直接使用预打包好的离线JS Bundle,不会连接Metro服务器,因此这个加载页会自动消失,运行流程变为:启动屏 → 应用主页面。
开发环境下隐藏该加载页的方法(可选)
如果在开发调试时也想跳过这个加载页,直接从启动屏进入主页面,可以修改iOS项目的启动代码:
iOS端修改步骤
- 用Xcode打开项目根目录下的
ios/MyApp.xcworkspace(注意是.xcworkspace文件,不是.xcodeproj) - 找到
AppDelegate.mm(Objective-C模板)或AppDelegate.swift(Swift模板)文件 - 注释/删除调试环境下的加载页代码:
- 若使用Objective-C(
AppDelegate.mm):
找到如下代码段并注释或删除:#ifdef DEBUG UIView *loadingView = [[RCTLoadingView alloc] initWithFrame:self.window.bounds]; [self.window addSubview:loadingView]; #endif - 若使用Swift(
AppDelegate.swift):
找到如下代码段并注释或删除:#if DEBUG let loadingView = RCTLoadingView(frame: window!.bounds) window?.addSubview(loadingView) #endif
- 若使用Objective-C(
- 重新运行项目后,开发环境下就不会再显示“Loading from metro”页面了。
注意:修改后如果Metro还未完全启动,可能会短暂出现白屏,但Metro就绪后会直接加载主页面,不影响正常调试。
内容的提问来源于stack exchange,提问作者ServerBloke
相关产品推荐
相关产品推荐

