如果您的应用程序使用的api在您的应用程序发布后被弃用,会发生什么情况?

如果您发布的应用程序使用的是后来弃用的api(在您的应用程序发布之后),那么会发生什么?

如果您在应用程序在商店中发布后从不更新应用程序,该怎么办? 它会适用于所有未来版本的iOS?

当API在以后的操作系统版本中消失时,应用程序是否还能工作? 或者,App Store会阻止您的应用程序被下载到未来的操作系统版本?

你问:

如果您发布的应用程序使用的是后来弃用的api(在您的应用程序发布之后),那么会发生什么?

根据苹果公司的说法,“被淘汰的方法已经被取代,未来可能会得不到支持。”

所以,不用说,如果您的应用程序使用的API将在未来某个date被弃用,它通常会继续工作,直到Appleselect不再支持该API为止。 实际上,在API弃用之后,您的应用将继续正常运行,因为Apple非常重视向后兼容性。

如果您在发布应用程序时(或者至less未对适用的后续方法进行适当的运行时检查)使用已被标记为已弃用的方法,那么运行与即将发布的iOS版本不兼容的风险就会更大。 但是,如果您坚持在发布应用程序时未弃用的API,则在任何合理的时间范围内都不太可能遇到API更改的问题。

如果您在应用程序在商店中发布后从不更新应用程序,该怎么办? 它会适用于所有未来版本的iOS?

如果devise良好(例如,您不依赖开发应用程序时已弃用的方法),则至less可以安全使用多个iOS版本,但您无法保证这样做。 开发人员需要承担的责任是确保应用程序与新版本iOS兼容。

坦率地说,应用程序通常在API的发展破坏之前就已经有了自己的date,所以在API破解之前,用户的兴趣水平就会降低。

当API在以后的操作系统版本中消失时,应用程序是否还能工作? 或者,App Store会阻止您的应用程序被下载到未来的操作系统版本?

如果API最终退出,那么显然你的应用程序将不再起作用,除非你预料到这一点,并且优雅地处理这种情况。 我不相信应用程序会自动删除,可能只是为了回应用户的投诉。

我知道的唯一的自动删除是开发人员允许他们的付费开发者的许可证失效。 在这种情况下,应用程序立即从商店中删除。


另外,您只关注API差异。 问题的另一个来源是这些应用程序依赖于一些未公开的iOS特性为应用程序的成功运行。 如果你坚持标准的,logging的API调用,你应该没问题。 但是如果你有一些function,你只能用实验发现的一些function,但在官方文档中找不到,那么这是一个警告信号,说明你的应用程序可能不是很“面向未来”,并且可能会中断在未来的iOS版本上。

什么都没有 不推荐使用的API将不会从操作系统中删除..几年后,如果您仍然使用该function,那么应用程序可能只是在现代操作系统上崩溃,但是在IOS的短暂生活中,还没有这种情况。

更新应用程序的基本SDK并重新编译时,情况就不一样了。 这可能是你被迫取代了这个弃用的电话。

这是很难说,因为一些方法/属性已弃用仍然有效。 例如tableViewCell.textColor在iOS 3或4中折旧,但它的工作原理。 苹果试图保持与旧iOS的向后兼容性,他们允许旧的应用程序工作。

虽然我从来没有遇到过我自己的应用程序的这个问题,但我看到了商店里的应用程序还没有被更新2年以上。 很多这些应用程序只是在启动时崩溃,因为他们尝试访问不再有效的API,并且内置了糟糕的error handling。

我不确定苹果是否会主动去除这些应用程序,尽pipe他们拥有App Store后显然拥有这样的能力。 我也读过,他们可以做到尽可能删除每个特定的应用程序的每个iOS设备上安装的每一个副本 。

如果某个应用获得了足够多的负面评论或被评为非常负面的评论,则可能会被移除。