cordova-plugin-statusbar icon indicating copy to clipboard operation
cordova-plugin-statusbar copied to clipboard

[iOS] StatusBarStyle {lightcontent} are always set to {darkcontent} with [email protected]

Open mosabab opened this issue 4 years ago • 6 comments

Bug Report

Problem

<preference name="StatusBarStyle" value="lightcontent" /> not work take the action when you build the iOS.

What is expected to happen?

<preference name="StatusBarStyle" value="lightcontent" /> should be take the action when you build your iOS app.

What does actually happen?

If you set <preference name="StatusBarStyle" value="lightcontent" /> in your config.xml and you try to build your project with cordova platform add [email protected] And after that open the project at Xcode, you will see that statusbar set to default which mean: (dark text, light background) instead of lightcontent which mean: light text, dark background

In other words: What actually happened for now is: The default value {lightcontent} appear as {dark text for light background}.

Information

What i did to fix this issue as a temporary solution, I change the the style manually by js code after onDeviceReady() like the following:

function onDeviceReady() { StatusBar.styleLightContent(); }

Command or Code

In your config.xml put the preference to <preference name="StatusBarStyle" value="lightcontent" /> And after building your app using cordova command cordova platform add [email protected] , try open the project in Xcode.

Environment, Platform, Device

macOS, iOS 13.5, iPhone Series (8, 11) or even emulator.

Version information

Cordova CLI v9.0.0 cordova-plugin-statusbar #master version. Xcode 11.5 cordova-ios v6.0.0

Checklist

  • [x] I searched for existing GitHub issues
  • [x] I updated all Cordova tooling to most recent version
  • [x] I included all the necessary information above

mosabab avatar Jun 18 '20 13:06 mosabab

Just noting that I had to wait until after I'd hidden the splash screen in order for StatusBar.styleLightContent(); to work for me on iOS.

I suspect this is being caused by some interactions with cordova-plugin-splashscreen...

peitschie avatar Nov 30 '20 08:11 peitschie

There's been fixes related to the splashscreen that was released in 6.1.0.

I'd suggest reconfirming the issue still exists in the current latest (6.1.1) and ensure that you're also using the latest versino of the splashscreen which has iOS bits removed (since it's implemented in cordova-ios core now).

In fact, if you only develop for iOS, it's safe to remove this plugin now.

breautek avatar Nov 30 '20 12:11 breautek

@breautek interesting to hear... thanks for the tip! Just to confirm, are you meaning cordova-ios version 6.1.1?

[email protected] is the version I'm currently running, though I still have the splash screen plugin installed as I need capabilities for Android still.

peitschie avatar Nov 30 '20 22:11 peitschie

@breautek interesting to hear... thanks for the tip! Just to confirm, are you meaning cordova-ios version 6.1.1?

[email protected] is the version I'm currently running, though I still have the splash screen plugin installed as I need capabilities for Android still.

~Yes, I mean [email protected]. You should also be using [email protected] to avoid conflicts between the plugin and the implemented provided by the cordova-ios framework.~

~If you can confirm if the issue is still present with the mentioned versions or not, that would be helpful.~

Doh, I just realized this is the statusbar -- not the splashscreen. Disregard everything I said in this thread :sleeping:

breautek avatar Nov 30 '20 22:11 breautek

@breautek no worries... it's all been useful information to know!

I'm running those exact versions, so yeah... issue is still there. I presume based on what you've said that this means the issue is either in cordova-ios or cordova-plugin-statusbar?

peitschie avatar Nov 30 '20 23:11 peitschie

@breautek no worries... it's all been useful information to know!

I'm running those exact versions, so yeah... issue is still there. I presume based on what you've said that this means the issue is either in cordova-ios or cordova-plugin-statusbar?

Yes, most likely the statusbar plugin. I'm not equipped to actually troubleshoot this since I don't have mac hardware, so I'm afraid I cannot be much help.

breautek avatar Nov 30 '20 23:11 breautek