iOS 9 xCode 7内置应用程序显示黑色矩形而不是闪屏
我知道这个问题看起来像是一些现有问题的翻版,但事实并非如此 我正在努力解决通用(iPad/iPhone)应用程序不再显示初始屏幕的问题 在升级到iOS 9和Xcode 7之前,不存在此类问题。升级后,未对初始屏幕进行任何更改 与问题相关的技术数据:iOS 9 xCode 7内置应用程序显示黑色矩形而不是闪屏,ios,objective-c,iphone,ios9,xcode7,Ios,Objective C,Iphone,Ios9,Xcode7,我知道这个问题看起来像是一些现有问题的翻版,但事实并非如此 我正在努力解决通用(iPad/iPhone)应用程序不再显示初始屏幕的问题 在升级到iOS 9和Xcode 7之前,不存在此类问题。升级后,未对初始屏幕进行任何更改 与问题相关的技术数据: 支持的设备有iPad(仅适用于横向)和iPhone (纵向/横向) 我使用“launchscreen.xib”,它有一个UIImageView,其中包含大小类和 约束设置为始终全屏显示 我在图像资源中添加了所有闪屏图像(iPad除外) 肖像画) 我
- 支持的设备有iPad(仅适用于横向)和iPhone (纵向/横向)
- 我使用“launchscreen.xib”,它有一个UIImageView,其中包含大小类和 约束设置为始终全屏显示
- 我在图像资源中添加了所有闪屏图像(iPad除外) 肖像画)
- 我使用Xcode版本7.0.1(7A1001)和iOS 9.0.2
- 这个问题不会发生在iPad上
- 再次删除和创建LaunchScreen.xib(有无空间)
- 创建LaunchScreen.storyboard文件而不是xib
- 添加LaunchScreen.xib中使用的图像的@2x和@3x版本
- 删除/添加/替换图像资源中的图像
- 清理、生成清理,甚至删除派生数据
- 重新启动设备,重新安装应用程序,在不构建的情况下重新启动,以及我能想到的许多其他解决方案
因此,我将使用的LaunchScreen.xib图像从“Default.png”重命名为“DefaultSplash.png”。这立即解决了iPhone上的所有问题。但现在我有了一个新问题——iPad splashscreen现在是黑色的。如果我将LaunchScreen图像设置为project中使用的其他图像,Ipad会将其显示为splashscreen,没有任何问题,但现在Ipad上既不能使用Default.png也不能使用DefaultSplash.png。这真是一个奇怪的问题。Xcode7 iOS 9以后的版本有了变化。他们已经修改了Launchscreen(我们将看到黑屏)。如果您更改部署目标,则意味着您可以看到以前的启动屏幕。只有空的视图控制器存在,因此我们必须对其进行更改。
根据资产中的要求,在imagecassets中添加图像。Xcode7 iOS 9及以后的版本中有一个更改。他们已经修改了Launchscreen(我们将看到黑屏)。如果您更改部署目标,则意味着您可以看到以前的启动屏幕。只有空的视图控制器存在,因此我们必须对其进行更改。
根据资产中的要求,在imagecassets中添加图像。因此我修复了如下问题: 由于我重命名了文件
LaunchScreen.xib
,它修复了iPhone上的一个问题,但在iPad上也造成了类似的问题。从那时起,我不能为同一个xib使用相同的图像文件名(即,如果图像“Default.png”失败,它就不能被任何错误使用)。所以我创建了两个文件,LaunchScreen.xib
和LaunchScreen~iphone.xib
,每个文件都有单独的图像文件。现在它可以正常工作了
看起来很难看而且有问题,但它可以工作。因此我修复了如下问题: 由于我重命名了文件
LaunchScreen.xib
,它修复了iPhone上的一个问题,但在iPad上也造成了类似的问题。从那时起,我不能为同一个xib使用相同的图像文件名(即,如果图像“Default.png”失败,它就不能被任何错误使用)。所以我创建了两个文件,LaunchScreen.xib
和LaunchScreen~iphone.xib
,每个文件都有单独的图像文件。现在它可以正常工作了
看起来很难看,但它可以工作。在我的例子中,“Launch Screen.xib”中的图像没有显示出来。我不得不重新命名它们,并在nib文件中重置新名称以使其正常工作。在我的情况下,“Launch Screen.xib”中的图像没有显示。我不得不重命名它们,并在nib文件中重置新名称以使其正常工作。这听起来可能很愚蠢,但可能会发生与此场景相关的事情:
如果您挂接任何插座,然后通过更改自定义类来打破它,您将在没有任何警告的情况下获得此黑屏行为,而不是来自任何未启动情节提要/场景的典型崩溃,这将导致在应用程序启动之前出现黑屏。这听起来可能很愚蠢,但可能会发生与此场景相关的事情:
如果您挂接任何插座,然后通过更改自定义类来打破它,您将在没有任何警告的情况下获得此黑屏行为,与任何非启动脚本/场景的典型崩溃不同,这将导致应用程序启动前出现黑屏。如我在原始问题中所述,我在“图像资源”文件夹中添加了所有可能的图像并分配了它们。或者您正在谈论其他解决方案?是的,从Images.xcsets中删除启动屏幕资源,并尝试创建新的资源,并根据需要添加图像。我尝试删除启动屏幕图像资源并重新创建所有新的内容。不幸的是,这并没有解决我的问题。正如我在最初的问题中提到的,我确实在“图像资源”文件夹中添加了所有可能的图像并分配了它们。或者您正在谈论其他解决方案?是的,从Images.xcsets中删除启动屏幕资源,并尝试创建新的资源,并根据需要添加图像。我尝试删除启动屏幕图像资源并重新创建所有新的内容。不幸的是,这并没有解决我的问题。您可以尝试为临时构建构建归档并导出切片的变体。(“导出向导中的“导出特定设备”选项)。这有助于查看输出中是否缺少任何资源…@MartinUllrich这是解决此问题的一种非常有趣的方法。我