在 iPhone X 初始化时显示两个不同的启动屏幕

Two Different Launch Screens Shown for on iPhone X on Initialization

刚刚更新了一个 Cordova 应用程序以包含一个 iPhone X LaunchImage,现在在仿真中,我看到了一个大小合适的启动图像,然后一秒钟后显示另一个太大并从页。

我不明白为什么启动 image/splash 屏幕会显示两次?在设备初始化中,navigator.splashscreen 调用 hide,然后从不调用 show,因此它不会在代码中发生。我将启动图像放在 Xcode 中并使用 cordova-plugin-splashscreen 插件。从我假设使用 Xcode 或将它们添加到 config.xml 的文档中,关于启动画面遗留资产是等效的,但现在我很困惑。这只发生在 iPhone X 而不是 iPhone 5s、6、7、8 或 iPad.

好的所以第一个启动图像显示是系统显示的,第二个是splashscreen插件显示的。该问题已通过更新到 cordova-plugin-splashscreen v5.0.2 解决,其中包含错误修复。

除了上面的@mtpultz 解决方案,我还发现需要删除旧的启动画面文件并添加一些新文件。

对于分享我的上述问题或在 Ionic 应用程序上遇到与此相关问题的任何人,编译后我在这个文件夹中发现旧的启动画面文件:platforms/ios/myApp/Images/xcassets/LaunchImage.launchimage/ - 还要检查 LaunchStoryboard.imageset 文件夹和确保您所有的图像都是正确的。我发现两个文件仍然显示默认的 cordova 图标(Default-2436h.png 和 Default-Landscape-2436h.png)——我创建了两个 Width/Height 尺寸的新图像文件并复制了这两个文件.现在一切正常。

问题是你提前隐藏了splascreen并且iOS更改为原生启动画面,一种可能的解决方案是在config.xml<preference name="SplashScreenDelay" value="100000"/>中增加SplashScreenDelay或者在你app时手动隐藏启动画面为所有组件充电。