支持 iPhone 5 与 iOS7 和 iPhone6

Supporting iPhone 5 with iOS7 and iPhone6

我没有让我的应用程序在 iPhone6 和 iOS8 以及 iPhone5 和 iOS7 上工作。也许是我删除了对 iOS7 的支持,但我认为这不是一个很好的理由。

我正在处理遗留代码,我是一名 Android 开发人员,所以我不完全理解 iOS。 但我的情况是,我正在尝试支持 iPhone6,为此我在项目配置的 'Launch Screen File' 上添加了一个新的 XIB。在此之前,我的代码在 iPhone4、5 和 6 上运行良好。但在那之后,所有屏幕都停止自动调整大小以满足 iPhone6 屏幕和在 iPhone5 上 运行 iOS7 应用程序在屏幕顶部和底部显示黑条。但是 iOS 8 它运行正常。

我修复了 iPhone6 的调整大小问题,在 xibs 上添加了正确的约束。但是我无法解决这个 iPhone5 问题。

尽管有这个错误,我面临的另一个奇怪行为是我无法将应用程序发送到 Apple Store,因为它说它目前不支持 iPhone5。 xCode 错误是:

这个错误看起来已经过时了,因为第二个 link 不工作。

我发现的关于如何支持 iPhone5 的唯一类似错误是在 iPhone6 之前的 2012 年或 2013 年,它们基本上告诉我们为 iPhone5 添加新的启动图像大小,因为我的应用程序在 iPhone5 上已经 运行 所以我认为这不是问题。

那么,我做错了什么?或者我应该更改什么配置来解决这个问题?

提前致谢!

所以,在@Tommy 的帮助下,我找到了解决问题的方法。

首先,我认为我的问题是因为我在将 'Launch Images Source' 配置为使用 Images.xcassets 时从项目根文件夹中删除了所有 'Default.png' 图像。在添加 'Launch Screen File' 之前,这是有效的。但是在我添加 'Launch Screen File' 之后,我的项目停止工作了。

所以为了解决这个问题,我不得不将 Default-568h@2x.png 图像读取到项目的根文件夹并将 'Launch Images Source' 设置为“不使用资产目录”。这样,据我了解,Default-568h@2x 告诉 xCode 该项目已优化为 iPhone5 运行 iOS7,所有其他设备或 iPhone5 运行 iOS8 使用 'Launch Screen File'.