平台就绪中的离子启动画面hide方法不起作用

问题描述

平台准备好后,我无法隐藏启动画面。仅在ios上,仅在testflight应用程序上,这才是问题。我无法在本地使用cordova 10构建它。当我使用cordova 9构建本地应用程序时(这只是区别),此方法有效。

this.platform.ready().then(() => {
   this.splashscreen.hide()
});

我确定所有导入都可以,所有安装都可以。

package.json:“ cordova-ios”:“ ^ 6.1.0”,“ cordova-plugin-splashscreen”:“ ^ 6.0.0”,

config.xml-启动画面值

<preference name="SplashMaintainAspectRatio" value="true" />
<preference name="FadeSplashScreenDuration" value="1000" />
<preference name="SplashShowOnlyFirstTime" value="false" />
<preference name="SplashScreen" value="screen" />
<preference name="AutoHideSplashScreen" value="false" />
<preference name="loadUrlTimeoutValue" value="700000" />
<preference name="SplashScreenDelay" value="30000" />
<preference name="disallowOverscroll" value="true" />
<preference name="FadeSplashScreen" value="false" />

有人知道吗?我尝试添加setTimout,它不起作用。

解决方法

我们遇到了同样的问题。他们在[email protected]pulled the splashscreen plugin into the platform itself。这也可以在最新文档的Supported Platforms中看到。

我们发现,对.hide()的调用似乎触发了SplashScreenDelay之后的隐藏。因此,如果您摆脱了SplashScreenDelay的设置,我敢打赌,您对Hide()的呼叫将按预期开始工作(因为您已经将AutoHideSplashScreen设置为false)。

如果您像我一样,并且想要自动隐藏功能和手动调用隐藏功能,则可以考虑在计时器中触发.hide(),这将作为备用计划触发(以防万一您的其他.hide()则不会触发)。两次调用.hide()似乎没有负面影响。

    //Poor-man's Auto-Hide
    Observable.timer(15000).subscribe(()=>{
        this.splashScreen.hide();
    });