cordova-plugin-statusbar
cordova-plugin-statusbar copied to clipboard
[iOS] StatusBarStyle {lightcontent} are always set to {darkcontent} with [email protected]
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
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
...
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 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.
@breautek interesting to hear... thanks for the tip! Just to confirm, are you meaning
cordova-ios
version6.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 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
?
@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
orcordova-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.