iOS:不推荐使用的元素会继续在旧版应用程序中运行吗?

时间:2019-03-21 13:20:27

标签: ios objective-c iphone deprecated

我有数年前开发的iOS企业应用程序,其中一些较早的应用程序包含Apple不推荐使用的元素,例如UIWebView。

我的问题是,在Apple停止支持不赞成使用的元素之后,这些元素是否可以在现有应用程序中继续使用?还是我需要进入并更新所有应用程序中已弃用的元素以维护功能?

2 个答案:

答案 0 :(得分:2)

我相信这取决于用户设备上的操作系统版本。如果操作系统不再支持不推荐使用的元素,那么您可能会注意到与以下错误类似的错误: "[Appname] needs to be updated"

答案 1 :(得分:2)

Apple弃用API时,表示他们打算将来停止支持该API。

有时这是因为该API不再有用或存在缺陷(例如,造成了安全漏洞),但通常是因为它已被高级API所取代,并且Apple鼓励您采用新的API。 / p>

运行在现有操作系统上的现有应用程序自然会继续运行。

当Apple用另一个API替换一个API时,他们通常会在可行的范围内维护旧的(不推荐使用的)API。因此,您的应用程序可能至少可以在操作系统的以下几个主要版本上运行。

Apple还试图避免强迫您选择新的API,因为这会使开发复杂化,因为如果您希望它与OS的早期版本兼容,则现在必须在应用程序中支持两个API。 (当然,如果您现在要使用新API的功能,则没有太多选择:要么同时支持两个API,要么限制您的应用可以在其上运行的操作系统版本。)

具体情况视情况而定。有安全漏洞的API可能会在下一个操作系统中删除。另一方面,您已经弃用了将近十年的字符串编码API(因为它们无法正确处理所有Unicode转换情况),但它们仍包含在框架中,并且仍按广告功能发挥作用。 >

在像UIWebView这样的备受瞩目的类中,我希望它会在未来几年继续起作用,但是它不会得到改善或获得WKWebView的任何新功能。因此,随着时间的流逝,它的外观和作用将越来越过时。这对您的应用有多重要是您开发的主观决定。