---
title: "View controller-based status bar setup"
canonical_url: "https://www.nutrient.io/guides/flutter/troubleshooting/view-controller-based-status-bar-appearance/"
md_url: "https://www.nutrient.io/guides/flutter/troubleshooting/view-controller-based-status-bar-appearance.md"
last_updated: "2026-06-08T14:25:06.417Z"
description: "Learn how to manage view controller-based status bar appearance in Flutter, ensuring compatibility with iOS 7 and beyond."
---

# Manage status bar appearance in Flutter

Nutrient requires the modern `UIViewControllerBasedStatusBarAppearance` mode introduced in iOS 7 to be set to `YES` in your `Info.plist` file. This is the default setting and uses the modern view controller-based API for status bar manipulation. The older `UIApplication`-based API was deprecated in iOS&nbsp;9 and is unavailable when compiling extensions.

If your application uses the legacy API, migrate your code to the new view controller-based one, otherwise Nutrient won’t be able to manage the status bar for you. We detect this issue and show a warning dialog for debug builds.

In older versions, we tried supporting both modes, but they are too different and Apple clearly explained that view controller-based status bar management is the future and that [using global state to manage the status bar is a “Bad Idea](https://twitter.com/smileyborg/status/740033250530197504),” so we fully focus on the new API to deliver a superior product.

You can learn more about this in [Apple’s Transitioning Guide](https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/TransitionGuide/AppearanceCustomization.html).

If everything works as intended and all you want to do is disable the warning, set the following:

### SWIFT

```swift

PSPDFKit.SDK.shared.setValue(true, forKey: "com.pspdfkit.development.suppress-warning-alerts")

```

### OBJECTIVE-C

```objc

PSPDFKitGlobal.sharedInstance[@"com.pspdfkit.development.suppress-warning-alerts"] = @YES;

```

Note that we only present the warning during development, so this actually doesn’t change anything in production builds.
---

## Related pages

- [How to add the license key for your Flutter app](/guides/flutter/troubleshooting/add-license-key.md)
- [Cocoapods Conflicts With Asdf](/guides/flutter/troubleshooting/cocoapods-conflicts-with-asdf.md)
- [How to find your iOS app bundle ID quickly](/guides/flutter/troubleshooting/finding-the-bundle-id.md)
- [Flutter Configuration Problems](/guides/flutter/troubleshooting/flutter-configuration-problems.md)
- [How to find your current SDK version](/guides/flutter/troubleshooting/getting-the-currently-used-version.md)
- [Ios Flutter Platform Not Detected](/guides/flutter/troubleshooting/ios-flutter-platform-not-detected.md)
- [Measurement Magnifier Not Working On Android](/guides/flutter/troubleshooting/measurement-magnifier-not-working-on-android.md)
- [Pspdfkit Widget Appcompat Activity Issue](/guides/flutter/troubleshooting/pspdfkit-widget-appcompat-activity-issue.md)
- [Using Android Gradle Plugin 7](/guides/flutter/troubleshooting/using-android-gradle-plugin-7.md)
- [Understanding bundle IDs for iOS app development](/guides/flutter/troubleshooting/what-is-a-bundle-id.md)
- [What Is An App Id](/guides/flutter/troubleshooting/what-is-an-app-id.md)

