一般来说
>使用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行为,获取对这两个操作系统的支持,使用单个故事板和新的自适应段等.您可能希望阅读通过这些来了解当您以同样的方式开发应用程序时可以期待什么.