目前我在 IOS 6 的 appstore 有一个应用程序。如果我有 ios 7 的朋友下载了它,它仍然看起来不错。
但是,如果我尝试在 iPhone 7 上进行构建,它看起来会很混乱。
我注意到我现在使用的是 Xcode 5,而我使用的是 IOS 7 SDK。我无法回到以前的 SDK。
如果我现在更新我的应用程序,当 iPhone 7 出现时它会看起来很乱吗?
所有具有 iOS 6 或更早版本的 Base SDK 的应用程序在 iOS 7 下运行时都将保持旧外观(操作表和警报视图除外)。当 iOS 7 上线时,Apple 不希望突然破坏成千上万的应用程序。
当然,如果您更新您的应用程序以使用 iOS 7 的 Base SDK,那么您的应用程序必须正确更新以适应 iOS 7 的新外观。
大多数应用程序在将 Base SDK 更新到 iOS 7 时看起来很糟糕,是因为应用程序一开始就编写不正确。有些事情确实发生了足够的变化,需要更多的工作,但如果一开始就正确编写,大多数应该“正常工作”。
至少,在安装了 iOS 7 测试版的设备上测试您现有的 App Store 应用程序(使用 iOS 7 之前的基础 SDK)并验证它仍然可以正常工作并且看起来不错。编写不佳的应用程序在新操作系统下更有可能出现问题。正确编写的应用程序很可能功能完全相同。如果您有任何问题,您应该能够使用 Xcode 4.6 修复应用程序并保留您的 iOS 7 之前的基础 SDK。您可以很快获得更新,这样当所有人都很快升级到 iOS 7 时,您的应用程序仍然可以正常工作。
一旦您知道您现有的应用程序在 iOS 7 下按原样运行,您就有时间正确更新到 iOS 7(当然,您应该在过去几个月中一直这样做)。
当您准备好利用 iOS 7 的功能和 iOS 7 的外观和感觉时,请使用 iOS 7 的 Base SDK 更新您的应用程序,并采取一切必要措施使其外观和功能正常。然后提交更新。还要决定使用什么部署目标。对于某些人来说,部署目标将一直回到 4.3。对于许多人来说,只有支持 iOS 7 才有意义。对于许多人来说,支持 iOS 6 和 iOS 7 是必经之路。
我同意接受的答案,但想根据我刚刚在客户项目中经历的经验添加一些信息。
该项目与 iOS 5.1+ 兼容,但在使用 iOS 7 UIKit 控件(按钮、表格视图等)呈现时看起来很糟糕。客户端还没有准备好更改图形以使这些 iOS 7 视觉元素的渲染不会发生严重冲突。
所以 - 必须能够测试和发布针对 iOS 6 接口/lib(iOS 6.1 SDK)构建的应用程序版本。
使用此处的说明,我能够在我的 Xcode 5 中安装 iOS 6 SDK:
然后我将项目设置更改为使用 iOS 6.1 SDK 构建。
这允许我在我的 iOS 7 设备上运行(用于测试)并显示所有 UI 元素,就像它们在 iOS 6 中一样。
注意:我没有去获取iOS 6.1模拟器SDK进行测试的工作。您可能想要这样做。(我有网络/其他问题,要求所有测试都必须在真实的配置设备上完成。)
最终结果:我有 iOS 6.1 SDK 可用于链接我的项目,这在运行时的效果是应用程序调用 iOS 中的 iOS 6.1 支持库,即使设备正在运行 iOS 7 并且有可用的 iOS 7 支持库.
另请参阅此处:
http://blog.spacemanlabs.com/2013/09/how-to-support-old-ios-sdks-in-xcode-5/