如何修复“RCTStatusBarManager 模块要求 Info.plist 中的 UIViewControllerBasedStatusBarAppearance 键设置为 NO”

Sav*_*kun 7 ios react-native

在我的应用程序中,我使用 React Native(遗留代码)和 iOS 本机组件。

最近我preferredStatusBarStyle在 iOS ViewController 中实现了覆盖。

但如果没有Info.plistpreferredStatusBarStyle则无法工作。View controller-based status bar appearance = YES所以我把这个键改为YES。

现在我有一个 React Native 错误:“RCTStatusBarManager 模块要求 Info.plist 中的 UIViewControllerBasedStatusBarAppearance 键设置为 NO”。

错误截图。

有什么方法可以在不更改 .plist 的情况下删除错误吗?我搜索了所有遗留的 React 代码,没有发现StatusBarReact Component的任何用途。

Sav*_*kun 4

preferredStatusBarStyle由于 React Native 错误,我无法使用现代解决这个问题。但这种旧的已弃用的设置状态栏样式的方法有所帮助:UIApplication.shared.setStatusBarStyle()。

我编写了这个助手来更改应用程序中的状态栏样式:

public static func updateStatusBarStyle(isLightBackground: Bool) {
  var statusBarStyle: UIStatusBarStyle
  if isLightBackground, #available(iOS 13.0, *) {
    statusBarStyle = .darkContent
  } else {
    statusBarStyle = isLightBackground ? .default : .lightContent
  }
  UIApplication.shared.setStatusBarStyle(statusBarStyle, animated: true)
}
Run Code Online (Sandbox Code Playgroud)