1

我有一个主要针对 iPad 的应用程序,我希望用户仍然能够使用他们原来的 iPad(iOS 最高 5.1)。另一方面,当在 iOS 7 设备上运行时,我的应用程序应该看起来像一个“原生”iOS 7 应用程序。

当我选择SDKROOT(Base SDK) 作为 iOS 7 并将部署目标选择为 6.0 时,该应用程序在两个系统上都运行良好,显示了各自的外观和感觉。但是由于我希望我的应用程序也可以在 5.1 上运行,所以我将部署目标设置为 5.1(我iPhoneOS5.1.sdk根据这个问题的答案将其复制到了 Xcode 5 )。该应用程序随后在 5.1、6.0 和 7.0 上运行,但它(几乎)看起来像 iOS 7 上的 iOS 6 应用程序。

这是我在处理编译器设置时发现的(取决于设置,应用程序在哪个 iOS 版本上运行):

编译器设置表

那么,这是否可能:一个应用程序,iOS 5.1、iOS 6 和 iOS 7 上的原生外观和感觉?

谢谢你的帮助。

4

1 回答 1

1

事实证明,我通过将 iPhoneOS5.1.sdk 添加到 Xcode 5 时遇到了安装/配置问题。当我升级到 Xcode 5.0.2 时,我没有再次添加那个 SDK,现在我得到了我的要求:我可以将 Base SDK 设置为 7.0 并将部署目标设置为 5.1,然后我在所有 iOS 版本上都获得了本机 L&F。

我只需要确保在不检查操作系统版本的情况下不使用 5.1 之后引入的功能(查看此处了解如何检查操作系统版本)。

于 2014-01-12T20:39:16.393 回答