我可以同时支持 iOS 6 和 iOS 7 吗?
Posted
技术标签:
【中文标题】我可以同时支持 iOS 6 和 iOS 7 吗?【英文标题】:Can I support iOS 6 and iOS 7 at the same time? 【发布时间】:2013-08-19 16:25:41 【问题描述】:我们已与客户达成协议,支持当前版本加一回。在 ios 8 发布之前,我不能放弃 iOS 6。
是否可以使用 iOS 7 增强功能并仍然支持 6。我很想部署两个版本的应用程序或有运行时条件,但是,我不明白这是怎么可能的。
【问题讨论】:
看到这个类似的:***.com/questions/12259926/updating-apps-to-ios6 支持 iOS 6 和 7 与现在支持 iOS 5 和 6 没有什么不同。实际上,带有 iOS 7 Base SDK 的应用程序可以一直支持到 4.3。这很愚蠢,但你可以做到。 "How can I support both iOS 4.X SDK and iOS 5 SDK in my iPhone app?" 和 "Supporting iOS 4.3 to iOS 6.0" 中讨论的大部分内容仍然适用于从 7.0 回退到旧操作系统版本。 如果您不仅发现运行时有条件,而且发现建议操作系统兼容性的便捷方式,请查看github.com/youknowone/UI7Kit 【参考方案1】:Apple 迁移到 iOS 7 的过渡指南是 here。
特别注意维护iOS 6 compatibility的部分。
【讨论】:
【参考方案2】:你绝对可以。你不知道这是否可能是什么意思?您必须将一堆代码包装在 if()
语句或预处理器宏中以确定 API 可用性,并可能在必要时为每个版本包含相应的 XIB。
人们已经支持以前的 iOS 版本很长时间了。
还想补充一点,大多数支持 iOS6 的设备也支持 iOS7。没有理由不添加对 iOS7 的支持,以免失去 iOS6 客户。几乎所有支持 iOS5 的设备也可以运行 iOS6。我知道,iPad1 卡在 iOS5 上。一位评论者表示,3GS 和第 4 代 iPod 没有安装 iOS7。
所以说真的,当 7 出现时放弃对 iOS6 的支持并不是什么大不了的事,如果你仍然只针对 6。你会惹恼一些越狱者,而其他人只需要使用 OTA 更新即可进入 7。
【讨论】:
iOS 6 支持 iPhone 3GS 和第 4 代 iPod touch。它们已在 iOS 7 中删除。 @JustinAmberson 您不能使用预处理器宏,因为它们是在编译时评估的。所有检查都必须是运行时检查。以上是关于我可以同时支持 iOS 6 和 iOS 7 吗?的主要内容,如果未能解决你的问题,请参考以下文章