使用已弃用的框架进行开发

Developing with deprecated frameworks

我有一个一般性问题,因为我发现许多框架在 iOS 9 中已弃用。考虑使用最新的 Xcode 和 iOS 为 iOS 7 及更高版本开发开发工具包。我将使用 UIAlertView,它在 iOS 9 中已被弃用并替换为 UIAlertController。在我的代码中,当我想显示警报时,我是否必须检查 iOS 版本并使用 UIAlertView 为 9 之前的 iOS 提供一个代码块,以及另一个代码块对于 UIAlertController 对于 iOS 9 及以上? AddressBookAddressBookUI 框架也是如此,它们被替换为 ContactsContactsUI 框架。

我知道许多已弃用的框架在新的 iOS SDK 上仍然可以正常工作,但在未来的某个时候可能无法正常工作。 解决这个问题的好方法是什么?

先检查iOS版本是个好办法。此外,您可以使用 respondsToSelector 方法检查(新)运行 设备是否支持新方法。

首先,UIAlertView 在 iOS 8 中被弃用,而不是 iOS 9。

弃用并不意味着删除。意思是过时了。

只要您的部署目标中没有弃用 API,就应该可以安全使用它。已弃用的 API 实际停止工作的情况非常罕见。

与其他所有内容一样,进行测试以确保在您的应用支持的每个 iOS 版本上一切正常。

当您在以后的应用程序更新中放弃对 iOS 7 的支持时,您可以将 UIAlertView 的所有用途替换为 UIAlertController.

的用途

地址簿类似。继续使用它,直到您的部署目标变为 iOS 9,然后您可以迁移到使用新的联系人框架。

当然,如果新 API 提供了您希望在支持的设备上使用的功能,请随意使用。请确保您不要尝试在装有旧版 iOS.

的设备上使用较新的 APIs

记住这一点。有些应用程序是七年前在 iOS 2.0 中编写的。其中许多应用程序仍可在 iOS9.

下运行