我有一个普遍的问题,因为我发现许多框架在iOS 9中已被弃用。考虑使用最新的Xcode和iOS SDK开发iOS 7及更高版本。我将使用在iOS 9中弃用并替换为UIAlertView
的{{1}}。在我想要显示警报的代码中,我是否必须检查iOS版本并使用{9}之前的iOS提供代码块,以及为iOS UIAlertController
提供另一个代码块9岁以上?
UIAlertView
和UIAlertController
框架也是如此,它们被AddressBook
和AddressBookUI
框架所取代。
我知道许多已弃用的框架在使用新的iOS SDK时仍能正常运行,但将来某个时候有可能无法正常工作。 在这个问题上有什么好办法?
答案 0 :(得分:2)
首先,在iOS 8中不推荐UIAlertView
,而不是iOS 9。
弃用并不代表删除。这意味着过时了。
只要您的部署目标中不推荐使用API,就应该使用它。被弃用的API实际上停止工作的情况非常罕见。
与其他所有内容一样,测试以确保您的应用支持的每个iOS版本都能正常运行。
如果您在以后的应用更新中放弃对iOS 7的支持,则可以使用UIAlertView
替换UIAlertController
的所有用途。
类似于AddressBook。继续使用它直到您的部署目标成为iOS 9,然后您可以迁移到使用新的Contacts框架。
当然,如果新API提供您希望在支持的设备上使用的功能,请随时执行此操作。请确保您不要尝试在使用旧版iOS的设备上使用较新的API。
记住这一点。有些应用程序是在七年前用iOS 2.0编写的。其中许多应用程序仍可在iOS 9下运行。
答案 1 :(得分:1)
首先检查iOS版是一个好方法。此外,您可以使用respondsToSelector方法检查(新)运行设备是否支持新方法。