问题描述
我正在使用cordova-plugin-splashscreen 6.0.0
该插件似乎无法像以前的iOS版本那样正常工作。升级到iOS 14后,在显示真实的初始屏幕图像之前,很快就会显示黑屏。
其他初始屏幕配置为:
<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通用设置有任何关系,则只能使用它。