我已经用Xcode 7升级了Xcode项目。我正在使用Objective-C
当我在部署目标中定位iOS 9.0时,我有36条警告:

  • UIAlertView已过时,请使用UIAlertController
  • 已弃用ABAddressBookRef,请使用CNContactStore ...
  • 已弃用setStatusBarStyle:animated,请使用[UIViewController preferredStatusBarStyle]

  • 还有一些
    好吧,我想保持与iOS 9的兼容性,至少要与iOS 8兼容。

    为了保持与其他操作系统的兼容性,是否需要忽略这些警告?

    如果我使用iOS 8的UIAlertController,是否可以正常使用?

    我要做的最好的事情是什么?使用不赞成使用的还是用新代码替换?

    最佳答案

    “不推荐使用”是指以下至少之一:

  • 此API尚未使用,但可能在将来或在将来的平台/技术上使用。例如,iOS 8之前不推荐使用的所有API在Swift中均不可用。
  • 此API有更好的替代方法,随着平台的更改,旧的API可能无法满足您的所有需求。例如,即使已弃用AssetsLibrary,但它仍然存在,但是它不提供对iCloud Photos或Live Photos的访问-对于那些需要替换其Photos框架的用户而言。

  • 这些是针对不推荐使用API​​的OS版本的考虑因素。

    但是,弃用警告基于项目的最低部署目标。如果您告诉Xcode您要为iOS 7和更高版本构建,则不会看到从iOS 8或iOS 9开始不推荐使用的API的警告。

    如果要部署回较旧的最低OS目标,但要使用较新OS的功能,则需要在使用较新功能的代码中进行可用性检查。有关兼容性/可用性和弱链接的一般信息,请参见Apple's docs;对于Swift而言,请参见Checking API Availability

    关于ios - 在iOS 9中已弃用,是否具有兼容性?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32620204/

    10-12 00:18
    查看更多