Cordova 7.1.0:iOS上启动后出现白屏

时间:2019-09-13 16:41:35

标签: ios cordova

规格:

  • 科尔多瓦:7.1.0
  • iOs版本:〜4.5.3

来源:Hide splash manually

根据Cordova文档,我尝试将<preference name="AutoHideSplashScreen" value="false" />添加到我的config.xml中,并在onDeviceReady函数的应用程序中手动调用hide

 onDeviceReady: function() {
    app.receivedEvent("deviceready");

    setTimeout(function() {
       navigator.splashscreen.hide();
    });
  }

这不起作用,它使我的应用始终处于可见状态。

我还添加了以下内容,以查看是否可能是导致白屏的网络问题。

<access origin="*" />
<allow-navigation href="*" />

在我模拟的所有设备启动后,我仍然得到白屏。


config.xml首选项:

...

    <preference name="SplashScreenDelay" value="3000" />
    <preference name="SplashScreen" value="splash" />
    <preference name="fullscreen" value="true" />
    <preference name="AllowInlineMediaPlayback" value="true" />
    <preference name="AutoHideSplashScreen" value="false" /> 

...

   <platform name="ios">
        <allow-intent href="itms:*" />
        <allow-intent href="itms-apps:*" />
        <preference name="orientation" value="all" />
        <preference name="DisallowOverscroll" value="true" />
        <preference name="AutoHideSplashScreen" value="false" />
        <splash src="res/screen/ios/Default@2x~universal~anyany.png" />
        <access origin="*" />
        <allow-navigation href="*" />
    </platform>

我注意到的另一件事是该应用程序完全忽略了<preference name="SplashScreenDelay" value="3000" />。无论我将其设置为什么值,闪屏都会短暂显示,然后消失。

1 个答案:

答案 0 :(得分:0)

原来是因为我使用的是Cordova Splashcreen插件的较旧版本。

我修复了

  • 删除旧插件:cordova插件删除“ org.apache.cordova.splashscreen”
  • 添加了新插件:cordova插件添加了cordova-plugin-splashscreen

还要确保您的config.xml文件已更新为:

-<plugin name="cordova-plugin-splashscreen" spec="^5.0.3" />