支持iOS8和iOS7的设计应用程序

假设我想设计一个主要的细节应用程序,通用应用程序的 Xcode6主 – 细节项目模板包括UISplitViewController和splitViewController是iOS8中的新功能.我也想支持iOS7的应用程序.

一般来说

>使用Xcode6设计通用应用程序的最佳方式是什么?
支持iOS8和iOS7的故事板?
>为不同的操作系统版本使用单独的故事板是否更好?
>我们应该遵循哪些最佳做法来使应用程序与两个操作系统兼容?

解决方法

创建这样的应用程序的“最佳方式”可能取决于您的应用程序需要做什么.根据所需的任何特殊行为,某些方式将比其他方式更好.

但是绝对有可能在Xcode 6中使用一个使用Size Class的通用故事板,并且还使用UISplitViewController来定位iOS 7(iPhone和iPad).我已经成功地做到了.它确实需要大量的工作才能确保它在iOS 7和8上运行正常,看起来是一致的.在执行各种新的自适应功能时,您必须要小心点,因为这是iOS 7和8之间的巨大差异例如,检测何时你有一个popover将需要一些工作为两个不同的操作系统,处理放卷将需要一些特殊的处理等.它将需要大量的测试.专门测试iPhone 6 Plus的时间 – 在屏幕上将显示主屏幕和细节,但您可以控制.

经过这样的经历,我宁愿实现一个单独的故事板,而不是两个故事板,每个操作系统一个,并且绝对不要为每个操作系统创建一个故事板,然后为每种设备类型创建一个故事板.

您将希望在SDK Compatibility Guide上阅读,了解如何检测API可用性.如果您实现了iOS 7上不存在的API,则应用程序将崩溃,因此如果该应用程序正在运行的操作系统存在该功能,则只需运行该代码即可.例如,您可能需要使用新的UIBlurEffect API,但是在iOS 7中不存在这一点.了解什么是弃用意味着什么,并且知道iOS 8中发生了什么变化将会有很大的帮助.例如,轮换API不利于大小类特征集合,但这些集合在iOS 7上不可用,因此您需要继续使用已弃用的旋转API.

还要从今年起查看一些WWDC videos.他们有几个视频,讨论新的自适应段和通用故事板.请注意,这些故事板向后兼容iOS 7,但有一些大小不能在iOS 7上使用.请参阅this question和我提供的更多信息的答案.前几年的WWDC视频还讨论了如何支持多个操作系统,逐步增强等.

当然当你有问题/问题Stack Overflow是一个很好的资源.我在过去几个月发布的很多问题与本主题完全相关,如何修改UISplitViewController行为,获取对这两个操作系统的支持,使用单个故事板和新的自适应段等.您可能希望阅读通过这些来了解当您以同样的方式开发应用程序时可以期待什么.

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...