Status Bar showing black text, only on iPhone 6 iOS 8 simulator Status Bar showing black text, only on iPhone 6 iOS 8 simulator ios ios

Status Bar showing black text, only on iPhone 6 iOS 8 simulator


So here is how I fixed it

In PLISTView Controller Based Status Bar NOStatus Bar Style UIStatusBarStyleLightContent

In AppDelegate DidFinishLaunching

[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;    [self.window setBackgroundColor:[UIColor whiteColor]];

In Each View Controller

- (UIStatusBarStyle) preferredStatusBarStyle {    return UIStatusBarStyleLightContent;}


This bug only occurs if your app is being scaled to fit the resolution of the newer devices.

A quick fix (who knows whether this will even get addressed in 8.1) is to provide the proper resolution loading images in your app package.

From https://developer.apple.com/ios/human-interface-guidelines/graphics/launch-screen/

For iPhone 7, iPhone 6s, iPhone 6:750 x 1334 (@2x) for portrait1334 x 750 (@2x) for landscapeFor iPhone 7 Plus, iPhone 6s Plus, iPhone 6 Plus:1242 x 2208 (@3x) for portrait2208 x 1242 (@3x) for landscape

In my app, we only support portrait, so providing the 750x1334 and 1242x2208 fixed it.

And just to confirm in case it wasn't obvious, you DO need to be using UIStatusBarStyleLightContent for your status bar style.


My app's status bar was working fine in iOS 7 using only the project/target settings:

Status bar style = UIStatusBarStyleLightContent

and

View controller-based status bar appearance = NO

but in iOS 8 (iPhone 6 and iPhone 6 Plus simulators) the status bar was not showing up. Changing View controller-based status bar appearance to YES and then adding:

    // Objective C    - (UIStatusBarStyle) preferredStatusBarStyle {         return UIStatusBarStyleLightContent;    }    //Swift    override func preferredStatusBarStyle() -> UIStatusBarStyle {    return UIStatusBarStyle.LightContent    }

to the ViewController resulted in seeing the white status bar again, but only after the initial root controller launches. During the initial launch the status bar remains black.