我正在使用 SocialFramework 在我的应用程序中的 Twitter 上发布图片和状态更新。问题是使用 iOS SDK 6 创建的应用程序在 iOS 5.1 设备上崩溃,因为缺少社交框架。问题:什么会更好:希望每个人都升级到 iOS 6 还是在没有社交框架的情况下重新实现 Twitter 功能?
1 回答
阅读Apple 文档中的SDK 兼容性指南。
它解释了如何使您的应用程序与旧 iOS 版本(如 iOS5.1)兼容,同时仍然能够使新 iOS 版本(如 iOS6)的用户拥有最新功能(如仅与 iOS6 兼容的 SocialFramework)。
全局原则是测试 SocialFramework 类在运行时是否可用,如果它们是可用的(因此用户在 iOS6 或更高版本上)使用它们,如果不是,则做任何你想要的(例如显示一个UIAlertView
来煽动用户将其 iOS 版本升级到 6.0 或更高版本)。
有关如何执行此操作和管理所有案例的更多详细信息和代码示例,请参阅上面提到的 SDK 兼容性指南。
另请注意,在 iOS5 中,在 iOS6 中发布Twitter Framework
之前可用Social Framework
(现在替换并扩展了它,使得 Twitter 框架在 iOS6 中已过时,但在 iOS5 中仍然可用)。
所以你可以使用上面SDK兼容性指南中描述的做法来检测SocialFramework
类是否可用,如果是,则使用它们,如果不检测TwitterFramework
类是否可用,则在可用时在iOS5中使用此框架。当两个框架都不可用时(例如对于 iOS4 用户) ,仍然回退到UIAlertView
鼓励更新。同样,此类情况在上述文档中进行了描述。