地味に悩んでいたことが解決できたので、対処法をまとめ。
タイトルにある通り、Cordova で開発した iOS アプリのステータスバーの文字色が白色になってしまう時の対処法です。
ステータスバーの背景色に白が目立つ色を指定してある場合は問題ないのですが、開発中のアプリはステータスバーの色に白色を指定していたため、時刻等が全く見えない状態になっていました。
ちなみに、プラグインは下記を利用しています。
GitHub – apache/cordova-plugin-statusbar: Apache Cordova
https://github.com/apache/cordova-plugin-statusbar
さてこの現象ですが、原因は「ダークモード」でした!
言われてみれば、シュミレーターやダークモードを有効にしていない端末では文字色は黒で表示されており、ダークモードを有効にしている私の私物端末では文字色が白色になっていました…!
なので、このダークモードを強制的に無効にします。
設定方法は簡単で config.xml
に下記を追加するだけです。
<config-file parent="UIUserInterfaceStyle" platform="ios" target="*-Info.plist"> <string>Light</string> </config-file>
なお、こちらの記述は <platform name="ios">
タグ内に追加してください。
こちらを追加してアプリを再度実行すると、Xcode の Info.plist
の UIUserInterfaceStyle
というパラメータに Light
が指定されます。
で、ダークモードを有効にした実機でアプリを実行したところ、無事、ステータスバーの文字色が黒色になりました!
以上、Cordova で開発した iOS アプリでステータスバーの文字色が白色になってしまう時の対処法でした。
ご参考になれば幸いです。