在使用不弃用代码的部署目标时,弃用代码是否会产生负面影响?

时间:2016-11-03 09:08:19

标签: ios objective-c swift xcode

让我们说我有一个Xcode项目,部署目标为8.0,iOS 10已经发布。应用程序获得构建和发布 - 部署目标保持不变。

我的问题是:

  1. 新添加的弃用是否会影响运行iOS 10的设备的应用稳定性?
  2. 我是否 调整我的实现以摆脱弃用的代码,即使Xcode没有向我显示任何警告? (我将部署目标设置为iOS 10时的警告)
  3. 目前我只添加if #available检查Xcode显示为警告的弃用代码。

2 个答案:

答案 0 :(得分:1)

是和否...通常不推荐使用代码,因为代码已不再维护,或者已知问题。在弃用之前和之后的时间之间,不应该直接更改已弃用的代码,因此没有什么可以降低稳定性等。但是,弃用它的事实应该让您更愿意将其更改为建议的替换。

应该注意的是,尽管有意弃用,但已经过去的方法往往不会消失。由于向后兼容性会被破坏,除非存在非常严重的安全/隐私问题,否则不会删除已弃用的方法。

还应该注意的是,不太可能发生的事情的频率高于人们期望的频率;)

答案 1 :(得分:0)

"已过时"意味着它将在未来版本中消失,因此您应该尽快替换代码。

有许多不赞成使用的方法可以替换,或者对于具有更好功能的替换方法而言几乎是微不足道的;在这些情况下,您应该立即替换该方法。

有些情况下有非平凡的努力。更糟糕的是,在某些情况下,iOS 10中的方法可能会被弃用,并且有一个很好的替换方法 - 这在iOS 8中是不可用的。在第一种情况下,当你有一些空余时间我会替换它, 尽快地。在后一种情况下,只要我不需要支持替换方法不可用的任何东西,我就会立即更换它。