我可以构建一个在 iOS 5.1 和 iOS 7 上以各自的原生外观和感觉运行的应用程序吗?
Posted
技术标签:
【中文标题】我可以构建一个在 iOS 5.1 和 iOS 7 上以各自的原生外观和感觉运行的应用程序吗?【英文标题】:Can I build an app that runs on iOS 5.1 and iOS 7 in the respective native look & feel? 【发布时间】:2013-10-06 16:21:26 【问题描述】:我有一个主要针对 iPad 的应用,我希望用户仍然能够使用他们原来的 iPad(ios 最高 5.1)。另一方面,我的应用在 iOS 7 设备上运行时应该看起来像“原生”iOS 7 应用。
当我选择 SDKROOT
(Base SDK) 作为 iOS 7 并将部署目标选择为 6.0 时,应用程序在两个系统上运行良好,显示出各自的外观和感觉。但是因为我希望我的应用程序也可以在 5.1 上运行,所以我将部署目标设置为 5.1(我根据this question 的答案将iPhoneOS5.1.sdk
复制到 Xcode 5)。该应用程序随后可在 5.1、6.0 和 7.0 上运行,但它(几乎)看起来像 iOS 7 上的 iOS 6 应用程序。
这是我在处理编译器设置时发现的(取决于设置,应用程序在哪个 iOS 版本上运行):
那么,这是否可能:一个应用程序在 iOS 5.1、iOS 6 和 iOS 7 上具有原生外观?
感谢您的帮助。
【问题讨论】:
【参考方案1】:事实证明,我通过将 iPhoneOS5.1.sdk 添加到 Xcode 5 时遇到了安装/配置问题。当我升级到 Xcode 5.0.2 时,我没有再次添加那个 SDK,现在我得到了我所要求的: 我可以将 Base SDK 设置为 7.0 并将 Deployment Target 设置为 5.1,然后我可以在所有 iOS 版本上获得原生 L&F。
我只需要确保在不检查操作系统版本的情况下不使用 5.1 之后引入的功能(查看here 了解如何检查操作系统版本)。
【讨论】:
以上是关于我可以构建一个在 iOS 5.1 和 iOS 7 上以各自的原生外观和感觉运行的应用程序吗?的主要内容,如果未能解决你的问题,请参考以下文章
Xcode 7 警告!是为比被链接 (5.1) 更新的 iOS 版本 (5.1.1) 构建的