Cordova初始屏幕插件-升级到iOS 14后,在初始屏幕出现之前会快速显示黑屏

问题描述

我正在使用cordova-plugin-splashscreen 6.0.0

插件似乎无法像以前的iOS版本那样正常工作。升级到iOS 14后,在显示真实的初始屏幕图像之前,很快就会显示黑屏。

我在config.xml中仅使用认的2x通用映像:

其他初始屏幕配置为:

<preference name="SuppressesLongPressGesture" value="true" />
<preference name="SplashShowOnlyFirstTime" value="true" />
<preference name="ShowSplashScreenSpinner" value="false" />
<preference name="FadeSplashScreen" value="false" />
<preference name="FadeSplashScreenDuration" value="5000"/>
<preference name="SplashScreen" value="screen" />
<preference name="AutoHideSplashScreen" value="true" />

有什么想法吗?

解决方法

在iOS 14中处理启动屏幕的方式发生了某些变化:

条目<splash src="res/screen/ios/Default@2x~universal~anyany.jpg" />不再用于iPhone。

现在我们必须添加以下条目:<splash src="res/screen/ios/Default@2x~iphone~anyany.jpg" />,以使iPhone设备也得到保护。

对于仅使用 universal〜anyany 条目的人(以前的iOS版本中唯一需要的条目):您只需将 iphone〜anyany 条目添加到 config.xml 文件,一切顺利。

请参见以下示例:

<splash src="<path to your image>/Default@2x~universal~anyany.jpg" />

<splash src="<path to your image>/Default@2x~iphone~anyany.jpg" />

显然,您还必须创建另一个名为 [email protected] (或png)的图像文件,其分辨率为1334 x 1334像素,并将其放入初始屏幕图像目录中。

我注意到的另一件事是,如果在 config.xml 文件中未声明 FadeSplashScreenDuration 条目,则启动屏幕淡化效果将不再起作用。

因此,您只需将此行添加到 config.xml 文件中,即可获得与以前的iOS版本相同的默认淡入效果:

<preference name="FadeSplashScreenDuration" value="500"/>

,

我看到的是同一件事。另外,如果可能与默认2x通用设置有任何关系,则只能使用它。