iOS 启动画面未在设备上显示 - 奇怪的问题

iOS Splash Screen not showing up on device - strange issue

我正在制作一个测试 sprite 套件游戏,当我在设备上 运行 时,尽管它在模拟器上运行,但启动画面没有出现。

以下是部分截图:

通常我将目标设置为 iOS 7.1 及更高版本,所以我在 xcassets 中使用 .xib 文件 LaunchImage 文件。

我在 iPhone 纵向 iOS 7&8 部分中放置了 2 个正确大小的启动画面,并在 iOS 7 和更高版本下选择了 "Portrait"。设置文件中的 link 肯定会转到正确的文件。

当我在模拟器上 运行 时(大概所有设备都是 iOS 8),使用 .xib 文件并显示启动画面。

当我 运行 它在我的 iPhone 4 上时,它显示黑屏。在我的其他应用程序中,它会从xcassets中选择图像并显示它,但不是这样。

有谁知道我该如何解决这个问题?


编辑

基本上,我已经将 4 张图像放入 xcassets 中作为启动画面。我为 iOS 7 和 iOS 8 选择了 iPhone 肖像。

在设置窗格中,我删除了启动屏幕文件引用,因此唯一的引用是 xcassets 启动图像(它指向正确的位置)。我还删除了 LaunchScreen.xib 文件。

但是当我 运行 设备上的应用 模拟器时,没有出现启动画面。

您的应用程序启动图像会在您启动应用程序后立即显示。由此得名。它在 appDelegate appDidFinishLaunching: 方法运行时被删除。如果您的应用程序几乎没有加载,您的图像可能会在您有时间查看之前显示并删除。

如果您想手动为启动图像设置更长的显示时间,可以将此代码添加到 appDidFinishLaunching: 在 appDelegate.m 文件中:

sleep(4);

4 是秒数。

我也遇到了同样的问题,终于找到了解决办法。当 运行ning 我的 landscape-only Sprite Kit 游戏时,我希望我的启动屏幕显示在所有能够 运行ning iOS 7 或更高版本的设备上。大多数 运行 iOS 7 的设备都可以升级到 iOS 8 或更高版本,iPhone 4 除外(与 iOS 7.1 卡住),并且启动屏幕没有出现在我的 iPhone 4 测试设备上。然后我偶然发现了 Apple Tech Note TN2244。如技术说明中所述,一旦您编辑 info.plist 以启用 iOS 7.0+ iPhone 启动图像的横向,将显示正确的启动图像。作为旁注,如果您按照建议禁用启动图像资产目录,XCode Swift 编译器会给您警告消息——但您实际上不需要禁用启动图像资产目录,如果您正确配置它们警告将消失并且横向启动图像现在可以在所有设备上正常工作,包括 iPhone 4.

我遇到了类似的问题并通过重新启动 Mac 和 iPhone

解决了

从模拟器/卸载应用程序iPhone帮助解决了这个问题。