Ionic Statusbar Белый на белом

Кто-нибудь сталкивался с белой строкой состояния после этого нового обновления XCode?

До обновления этот код работал...

statusBar.styleBlackTranslucent();

... теперь я просто получаю белую полосу с белым текстом. (см. снимок экрана)

Для соответствующей отладочной информации:

statusBar.hide(); 

работает... так что я знаю, что панель состояния cordova-plugin все еще работает на каком-то уровне.

Но когда я вынимаю весь код строки состояния и экспортирую из XCode, полоса по-прежнему остается белым текстом с белым фоном.

Конечно, обновление происходит в тот день, когда я собираюсь запустить бета-версию.

Вот мой config.xml:

<?xml version='1.0' encoding='utf-8'?>
<widget id="com.XX" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <name>XX</name>
    <description>Create, experience, share.</description>
    <author email="[email protected]" href="https://XX.com/">Rob Gungor</author>
    <content src="index.html" />
    <access origin="*" />
    <allow-navigation href="http://ionic.local/*" />
    <allow-navigation href="http://192.168.11.58:8100" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="tel:*" />
    <allow-intent href="sms:*" />
    <allow-intent href="mailto:*" />
    <allow-intent href="geo:*" />
    <preference name="webviewbounce" value="true" />
    <preference name="UIWebViewBounce" value="true" />
    <preference name="DisallowOverscroll" value="true" />
    <preference name="android-minSdkVersion" value="16" />
    <preference name="BackupWebStorage" value="cloud" />
    <preference name="SplashMaintainAspectRatio" value="true" />
    <preference name="FadeSplashScreenDuration" value="600" />
    <preference name="SplashShowOnlyFirstTime" value="false" />
    <preference name="SplashScreen" value="screen" />
    <preference name="SplashScreenDelay" value="3000" />
    <preference name="FadeSplashScreenDuration" value="950" />
    <preference name="KeyboardDisplayRequiresUserAction" value="false" />
    <preference name="Fullscreen" value="true" />
    <platform name="android">
        <allow-intent href="market:*" />
        <icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" />
        <icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png" />
        <icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png" />
        <icon density="xhdpi" src="resources/android/icon/drawable-xhdpi-icon.png" />
        <icon density="xxhdpi" src="resources/android/icon/drawable-xxhdpi-icon.png" />
        <icon density="xxxhdpi" src="resources/android/icon/drawable-xxxhdpi-icon.png" />
        <splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png" />
        <splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png" />
        <splash density="land-hdpi" src="resources/android/splash/drawable-land-hdpi-screen.png" />
        <splash density="land-xhdpi" src="resources/android/splash/drawable-land-xhdpi-screen.png" />
        <splash density="land-xxhdpi" src="resources/android/splash/drawable-land-xxhdpi-screen.png" />
        <splash density="land-xxxhdpi" src="resources/android/splash/drawable-land-xxxhdpi-screen.png" />
        <splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png" />
        <splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png" />
        <splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png" />
        <splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png" />
        <splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png" />
        <splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png" />
    </platform>
    <platform name="ios">
        <allow-intent href="itms:*" />
        <allow-intent href="itms-apps:*" />
        <icon height="57" src="resources/ios/icon/icon.png" width="57" />
        <icon height="114" src="resources/ios/icon/[email protected]" width="114" />
        <icon height="40" src="resources/ios/icon/icon-40.png" width="40" />
        <icon height="80" src="resources/ios/icon/[email protected]" width="80" />
        <icon height="120" src="resources/ios/icon/[email protected]" width="120" />
        <icon height="50" src="resources/ios/icon/icon-50.png" width="50" />
        <icon height="100" src="resources/ios/icon/[email protected]" width="100" />
        <icon height="60" src="resources/ios/icon/icon-60.png" width="60" />
        <icon height="120" src="resources/ios/icon/[email protected]" width="120" />
        <icon height="180" src="resources/ios/icon/[email protected]" width="180" />
        <icon height="72" src="resources/ios/icon/icon-72.png" width="72" />
        <icon height="144" src="resources/ios/icon/[email protected]" width="144" />
        <icon height="76" src="resources/ios/icon/icon-76.png" width="76" />
        <icon height="152" src="resources/ios/icon/[email protected]" width="152" />
        <icon height="167" src="resources/ios/icon/[email protected]" width="167" />
        <icon height="29" src="resources/ios/icon/icon-small.png" width="29" />
        <icon height="58" src="resources/ios/icon/[email protected]" width="58" />
        <icon height="87" src="resources/ios/icon/[email protected]" width="87" />
        <splash height="1136" src="resources/ios/splash/Default-568h@2x~iphone.png" width="640" />
        <splash height="1334" src="resources/ios/splash/Default-667h.png" width="750" />
        <splash height="2208" src="resources/ios/splash/Default-736h.png" width="1242" />
        <splash height="1242" src="resources/ios/splash/Default-Landscape-736h.png" width="2208" />
        <splash height="1536" src="resources/ios/splash/Default-Landscape@2x~ipad.png" width="2048" />
        <splash height="2048" src="resources/ios/splash/Default-Landscape@~ipadpro.png" width="2732" />
        <splash height="768" src="resources/ios/splash/Default-Landscape~ipad.png" width="1024" />
        <splash height="2048" src="resources/ios/splash/Default-Portrait@2x~ipad.png" width="1536" />
        <splash height="2732" src="resources/ios/splash/Default-Portrait@~ipadpro.png" width="2048" />
        <splash height="1024" src="resources/ios/splash/Default-Portrait~ipad.png" width="768" />
        <splash height="960" src="resources/ios/splash/Default@2x~iphone.png" width="640" />
        <splash height="480" src="resources/ios/splash/Default~iphone.png" width="320" />
        <icon height="1024" src="resources/ios/icon/icon-1024.png" width="1024" />
        <splash height="2732" src="resources/ios/splash/Default@2x~universal~anyany.png" width="2732" />
    </platform>
    <preference name="GOOGLE_PLUS_CLIENT_ID" value="XX" />
    <engine name="android" spec="^6.2.3" />
    <engine name="browser" spec="^4.1.0" />
    <engine name="ios" spec="^4.4.0" />
    <plugin name="com.telerik.plugins.nativepagetransitions" spec="^0.6.5" />
    <plugin name="cordova-fabric-plugin" spec="^1.1.9">
        <variable name="FABRIC_API_KEY" value="XX" />
        <variable name="FABRIC_API_SECRET" value="XX" />
    </plugin>
    <plugin name="cordova-plugin-admobpro" spec="^2.29.22" />
    <plugin name="cordova-plugin-cocoapod-support" spec="^1.3.0" />
    <plugin name="cordova-plugin-console" spec="^1.0.7" />
    <plugin name="cordova-plugin-device" spec="^1.1.6" />
    <plugin name="cordova-plugin-facebook4" spec="^1.9.1">
        <variable name="APP_ID" value="XX" />
        <variable name="APP_NAME" value="  &#xA;XX" />
    </plugin>
    <plugin name="cordova-plugin-firebase" spec="^0.1.24" />
    <plugin name="cordova-plugin-googleplus" spec="git+https://github.com/mzealey/cordova-plugin-googleplus.git">
        <variable name="REVERSED_CLIENT_ID" value="XX" />
    </plugin>
    <plugin name="cordova-plugin-ionic" spec="^1.1.8">
        <variable name="APP_ID" value="XX" />
        <variable name="CHANNEL_NAME" value="Master" />
        <variable name="UPDATE_METHOD" value="background" />
        <variable name="UPDATE_API" value="https://api.ionicjs.com" />
        <variable name="MAX_STORE" value="2" />
    </plugin>
    <plugin name="cordova-plugin-splashscreen" spec="^4.0.3" />
    <plugin name="cordova-plugin-statusbar" spec="git+https://github.com/apache/cordova-plugin-statusbar.git" />
    <plugin name="cordova-plugin-taptic-engine" spec="^2.1.0" />
    <plugin name="cordova-plugin-whitelist" spec="^1.3.2" />
    <plugin name="cordova-wheel-selector-plugin" spec="^1.0.9" />
    <plugin name="ionic-plugin-keyboard" spec="^2.2.1" />
</widget>

Вот скриншот моей информационной панели в XCode

Спасибо милые. Хо ограбить


person Rob Gungor    schedule 25.09.2017    source источник


Ответы (4)


Ответ Роба - это решение. Однако с Cordova-plugin-wkwebview-engine мое приложение просто не работало. Удаление плагина вернуло приложение в нормальное состояние, и проблема со строкой состояния исчезла. Так;

Я удалил плагин строки состояния с помощью:

ionic cordova plugin remove cordova-plugin-statusbar

Я установил три из этих плагинов:

ionic cordova plugin add cordova-plugin-disable-ios11-statusbar
ionic cordova plugin add cordova-plugin-statusbar

А потом позвонил

ionic cordova platform remove ios
ionic cordova platform add ios

Спасибо Роб!

Обновление: найдено более чистое решение. Вам нужно только

cordova-plugin-statusbar

В index.html просто добавьте «viewport-fit=cover» к метате области просмотра в заголовке:

<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width, viewport-fit=cover">

Это все

person Cafer Elgin    schedule 29.09.2017

Я установил три из этих плагинов:

ionic cordova plugin add cordova-plugin-disable-ios11-statusbar
ionic cordova plugin add cordova-plugin-statusbar
ionic cordova plugin add cordova-plugin-wkwebview-engine

А потом позвонил

ionic cordova platform remove ios
ionic cordova platform add ios

И тогда это сработало для меня (не спрашивайте, почему)

person Rob Gungor    schedule 28.09.2017

Я сделал следующее, и это решило все проблемы с дизайном, связанные с ios.

1)Install/upgrade WKWebView
  ionic cordova plugin add cordova-plugin-ionic-webview --save

2) Add these line in config.xml
<feature name="CDVWKWebViewEngine">
        <param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />

3) Add viewport-fit=cover in index.html
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover">
person Manish    schedule 09.10.2017

Пожалуйста, используйте StatusBar.styleDefault(); Это изменит цвет шрифта строки состояния на черный.

person Akash Chaudhary    schedule 06.07.2019