iOS 9 启动画面为黑色
Posted
技术标签:
【中文标题】iOS 9 启动画面为黑色【英文标题】:iOS 9 Splash screen is black 【发布时间】:2015-12-14 03:45:55 【问题描述】:升级到 ios9 后,我的应用程序的启动画面都是纯黑色的。
有人知道这是为什么吗?其中一些正在使用 .xib 启动画面,一些正在使用图像,但它们现在都是黑色的。是否必须使用 Xcode 7 构建应用程序才能在 iOS9 中运行启动画面?有没有人看过一些关于这是否是 Apple 有意做出的重大改变的文档?
谢谢!
更新:再次查看应用程序,似乎我的旧应用程序,只有一个启动图像,没有 .xib 仍然正确显示,所以问题似乎与启动屏幕有关 .xib
更新 2: 正如 hagi 在评论中指出的那样,在重新安装相同的二进制文件后,它再次开始工作,因此原因可能是每当安装应用程序时都会从 xib 生成启动图像,并存储在某处,然后在升级到 iOS9 时,由于某种原因(很可能是 Apple 的意外错误),生成的图像被清除,并且应用程序最终没有飞溅。这就是为什么老式的启动图像仍然安全且不受此影响的原因,因为它们已经被嵌入到应用程序中。
我会将其作为错误报告给 Apple。
【问题讨论】:
能否提供更多信息? 我认为问题与代码无关。在开发过程中也会发生这种情况吗?我的猜测是启动图像是在安装时从 XIB 生成的,但在 iOS 系统更新后没有被拾取。重新安装或下一次应用更新应该可以解决此问题。 @hagi 是的,看起来是这样。重新安装解决了这个问题,是的,可能是安装时生成图像,然后在操作系统升级期间擦除。 Apple 不会想到这一点仍然感觉有点奇怪...... 看起来像 iOS9 中的一个错误 - 这发生在包括 Safari 在内的许多应用程序中。通常重新启动会修复它。苹果无疑会推动修复。 @andrrs 作为开发人员,我们能否在 iOS 上完全跳过启动画面? 【参考方案1】:轻松修复。没必要乱来。 Xcode 7 只是更喜欢图像是“通用的”。
-
点击 Assets.xcassets 文件夹
单击 + 号以从项目导入。
选择所有图片
完成。现在你的启动屏幕可以工作了,Xcode 更快乐了。
【讨论】:
这解决了问题,只需“导入”您的一个大型 .png 启动文件并完成! 这很奇怪,但是,如果您尝试在启动故事板上包含图像,看起来这就是您必须做的事情。谢谢:) 是的。更新到 iOS 9 不是修复程序。更不用说它不需要大声笑。哦,好吧,你能做什么。很高兴你解决了。 是的,似乎启动故事板或 XIB 要求它们的图像大部分时间都在资产目录中。对于我们这些讨厌资产目录的人来说,这非常烦人,特别是因为资产目录之外的图像有时会起作用,然后当对项目进行一个小的更改时,它们突然就不起作用了。我花了一段时间(在这篇文章的帮助下)才弄清楚这一点。如果苹果能记录这样的东西,那当然会很好...... 我的资产文件夹中已经有了启动画面。似乎再次直接添加这些文件可以解决问题。此外,删除这些新图像后,问题没有再次出现。【参考方案2】:更新到 iOS 9 后出现同样的问题。从 App Store 重新安装应用程序似乎可以解决问题。我猜,这是 iOS 9 的故障。
【讨论】:
在我的情况下,iPad重启后,图像再次显示。 卸载应用程序并从 Xcode 再次运行对我有用。【参考方案3】:我遇到了确切的问题,在使用 Xcode 7 后出现黑色启动屏幕,起初在 Launch-Screen.xib 中重新添加图像有效,但它又变黑了。
我通过将 Launch-Screen.xib 引用的图像移动到资产目录中来永久修复此问题,而不是使用 png 文件名。
【讨论】:
【参考方案4】:再次指出这一点(因为此解决方案没有出现在答案中,而且我个人在“修复”该问题时损失了大约两个小时),有时,尤其是当应用正在积极开发/调试中,它需要重启 iOS 设备才能修复启动屏幕。
【讨论】:
【参考方案5】:-
默认出现黑屏是因为,iOS 严格执行某些启动图像,它可以是黑色或任何图像。
对 Info.plist 文件使用 UILaunchImages 键并使用字典来描述每个启动图像。
检查以下参考资料
A launch storyboard or xib must be provided unless the app requires full screen
我使用的是 xcode7.1,它可以工作。请下载最新的xcode7.1
希望以上信息对你有所帮助。
【讨论】:
【参考方案6】:在情节提要的“清除图形上下文”框中未选中,然后它可以工作。
【讨论】:
【参考方案7】:对我有用的是
1 - 转到 LaunchScreen.storyboard 2 - Select 是初始视图控制器
enter image description here
你可以走了。
【讨论】:
请对您的问题更具描述性,这将有助于其他开发人员阅读和分享此问题的解决方案。将推荐遵循 *** 问答指南:***.com/help/how-to-ask 我犯了同样的愚蠢错误。谢谢你的回答。【参考方案8】:我卸载应用程序或重新启动设备没有帮助。我又使用了 XCode 5 分钟,这是 XCode 失败之间的平均时间,它给出了“发生未知错误”错误,这非常有帮助。当然,作为一名经验丰富的 XCode 开发人员,我知道该怎么做,强制退出、清理项目、重建。
第一个错误同时解决了,因为我忘记了。
【讨论】:
【参考方案9】:问题可能是因为缺少图像大小:LaunchScreen.xib 中的 .png、@2x.png、@3x.png
我通过 LaunchScreen.xib 制作了加载屏幕 在这个 xib 中加载了一个图像 launch.png 但是缺少大小的launch.png,只存在launch@2x.png和launch@3x.png 添加丢失的图像后:launch.png,黑色方块错误消失了。
【讨论】:
【参考方案10】:从 iOS9 和 Xcode 7 开始,您需要为启动屏幕提供 LaunchScreen.storyboard 以支持 iPad 上新的多任务处理功能。
要取消参与 Slide Over 和 Split View 的资格,请将 UIRequiresFullScreen 键添加到 Xcode 项目的 Info.plist 文件并应用布尔值 YES。
【讨论】:
【参考方案11】:在为 LaunchScreen.xib
删除 Size Classes
后,我已修复此问题
我只使用了Auto Layout
。
【讨论】:
这个提示对我有所帮助。我还必须将“LaunchScreen.storyboard”中唯一的 ViewController 设置为 Initial。然后我让它完全工作了【参考方案12】:我在启动屏幕上注意到了同样的问题,并且屏幕中间有一个黑色方块。
这可能是由于缺少指定格式的图像。例如@2x、@3x 等。
【讨论】:
【参考方案13】:我遇到了同样的问题。我下载了 Xcode 7 并将我的项目升级到 swift 2.0。重新编译后,问题一开始就消失了,但后来在我对其他不相关代码的测试期间又开始发生。
到目前为止,有两件事情解决了这个问题,在这两种情况下都是暂时的。删除背景图像,添加具有其他名称的相同图像。新图像工作一段时间。其次,您是否调整了图像视图的大小,并且在大多数情况下,图像会再次开始工作,但只是暂时的。
我在看到初始屏幕时向 iTunes Connect 提交了新的更新。不确定这是操作系统问题还是应用程序 api 问题,可以通过重新编译代码得到纠正。
我也尝试启用和禁用新的 Bitcode 功能,但没有帮助。
【讨论】:
【参考方案14】:我使用 Unity (5.2) 构建的新 iOS 9 项目遇到了同样的问题。为了解决这个问题,我将要显示为启动图像的图像添加到 LaunchScreen-iPad.xib 文件的图像视图中。
【讨论】:
【参考方案15】:在 LaunchImage 中添加图像并在 Launch Image Source 中设置它并删除 Launch Screen File 中的条目的常见解决方案并没有解决我的问题。启动图像取决于您使用的 iPhone。由于我的应用程序适用于 iOS 8.0 及更高版本,因此在 LaunchImage 中选择它会要求您仅上传 Retina 4.5" 和 Retina 5.5" 图像。但这些尺寸适用于 iPhone 6 和 6 Plus。您应该根据设备上传图像。
iPhone 4S:640 x 960 (@2x) iPhone 5:640 x 1136 (@2x) iPhone 6:750 x 1334 (@2x) 纵向、1334 x 750 (@2x) 横向 iPhone 6 Plus:1242 x 2208 (@3x) 纵向,2208 x 1242 (@3x) 横向
我浪费了很多时间来解决黑屏启动图像问题。希望这对某人有所帮助。
【讨论】:
【参考方案16】:如果我们使用 image.Assets 作为启动图像,我们总是需要添加适当大小的图像,并在单击项目导航器>常规>AppICons 和启动图像 > 启动图像源 > BrandAssets 上选择正确的启动图像源选项
如果相对于您尝试运行应用程序的设备而言,启动图像的大小不正确,那么您的应用程序将运行为 iPhone 4,显示黑色的顶部和底部条。
【讨论】:
以上是关于iOS 9 启动画面为黑色的主要内容,如果未能解决你的问题,请参考以下文章