使用 Xcode 12 无法在 iOS 14 上启动屏幕

Syl*_*ber 37 xcode ios launch-screen

我现在非常沮丧。我将 Xcode 升级到版本 12 并在 iOS 14 上测试了我的应用程序。现在的问题是,我的启动屏幕只是显示为黑色。我用 iOS 13.5 设备对其进行了测试,它仍然按预期工作。我试图删除 launchscreen.storyboard 方法并在 info.plist 中添加了 Launch Screen 键,但随后图像被缩放到全尺寸。

现在我用 launchscreen.storyboard 进行了一些测试,我发现了一些东西。

  • 如果我删除图像视图,启动屏幕将按预期显示。我只添加了一个标签,这会起作用。
  • 如果我在图像视图中使用系统中的图像,它也能正常工作。当我使用项目中的图像时,它不起作用。

您是否遇到过 iOS 14 和故事板方法的问题?

如果是,你是如何解决的?

Sad*_*tar 30

一个似乎对我有用的解决方法:

出于一个奇怪的原因,如果我缩小图像的大小,那么它工作正常。我有一个尺寸为 2732x2732 的全尺寸图像,但它不起作用。将同一图像的尺寸减小到 2400x2400 效果很好。我尝试过 2500x2500 和 2600x2600,但都没有奏效。

最重要的是,每次更改图像时,我都必须重新启动模拟器以反映更新后的图像。

它尚未在真实设备上运行。就像模拟器一样,我必须重新启动设备,然后才能正常工作。

不确定它是否与图像的尺寸/大小或重新启动有关。

进一步更新:

我将相同的构建(带有较小的图像)上传到 TestFlight 并将其安装在我的设备上(基本上从具有大尺寸图像的先前版本更新),不幸的是问题仍然存在:(

现在我所做的是卸载应用程序并从 TestFlight 重新安装它。问题仍然存在。

最后我不得不删除该应用程序重新启动我的设备并再次安装该应用程序。这是它工作正常的时候。

  • 奇怪的是,60KB 2732x2732 PNG 文件无法正常工作,将其缩小到 2400x2400 解决了问题! (3认同)
  • 我发现将尺寸减小到 2400 还不够。将文件大小减少到 1 MB 以下对我很有帮助。 (2认同)

Syl*_*ber 15

所以这里有很多好主意,但我最终解决了这个问题——它更像是一种解决方法。我需要将图片存储在 Images.xcassets 文件夹之外,然后它又开始工作了。这是一个非常奇怪的问题。

  • 这对我有用。此解决方案的缺点是,无法再为深色和浅色模式设置不同的图像(我的应用程序徽标对于浅色和深色背景有两种略有不同的色调)。 (3认同)

小智 15

解决方法是在启动故事板中使用带有图像的按钮而不是图像视图。它就像一个魅力!

  • 圣钼!我尝试了该页面上的所有内容,但没有任何效果。感谢雷安的分享! (2认同)

Tho*_*ark 11

原因之一可能是图像的大小。由于 iOS 14 启动屏幕图像限制为 25 MB,如 Apple人机界面指南中所述。

2.400x2.400 像素的图像将导致内存大小约为 22 MB。使用 2.500x2.500,我们达到了 25 MB。

我们遇到了同样的问题,即在 iPhone 12 等所有 @3x 设备上, LaunchScreen.storyboard中的全屏图像都是黑色。仅将 @3x 启动图像的大小从 3.072x3.072 减小到 2.400x2.400 解决了这个问题。

方形图像是支持横向和纵向的简单方法。但每个方向也应该有不同的图像,其中一张图像的总大小小于 25 MB。


the*_*ace 7

有同样的问题。问题在于启动屏幕故事板中使用的 .png 图像。这导致整个启动屏幕都是黑色的。

在我们的案例中解决这个问题的是:

  • 选择较小的图像
  • 从设备/模拟器中删除应用程序
  • 重启设备/模拟器

通过将图像替换为应用程序中的另一张图像,我发现该图像是错误的根源。它立即使用不同的图像(无需重新启动或其他要求)。


小智 5

对我有用的唯一解决方法是将图像添加到Images.xcassets文件夹之外。修改此内容并重建应用程序后,它按预期工作。

iOS 14 或 XCode 12 上发生了一些问题。