“在iOS x.x及更高版本中可用”是什么意思?

时间:2012-09-13 21:56:55

标签: ios

这究竟是什么意思?我见过可用性:iOS(6.0及更高版本)和其他版本号,但我认为这并不是它的意思。这真的意味着它只适用于iOS 6及更高版本吗?如果是这样,那么为什么iOS 2.0f及更高版本的可比方法会折旧?当iOS版本低于6.0或指定的可用性时,我还不应该使用它吗?

一个例子是NSTextAlignmentCenter。它指定它是可用性:iOS(6.0及更高版本),但我正在为iOS 4.3及更高版本构建应用程序。我目前正在检查设备的iOS版本并选择NSTextAlignmentCenter和UITextAlignmentCenter之间的文本对齐方式。对我来说,这似乎很奇怪。不应该是iOS SDK 6.0及更高版本,而不是iOS 6.0及更高版本吗?

我知道这似乎是挑剔,但它会产生很大的不同。

4 个答案:

答案 0 :(得分:3)

  

我见过可用性:iOS(6.0及更高版本)和其他版本号,   但我不认为这究竟是什么意思。它真的意味着什么吗?   它仅适用于iOS 6及更高版本?

是的,它确实仅适用于iOS 6及更高版本。

您链接到应用程序的Apple提供的大多数框架都是动态的 - 它们不是内置到您的应用程序中,而是在应用程序启动时链接。它们作为操作系统的一部分存在于设备上。这意味着进行追溯性更改(例如添加新方法)介于困难和不可能之间。重要更改(例如安全修复程序)通常在次要操作系统更新中进行。 API的功能更改通常保留用于更重要的升级。

某些变化确实会追溯发生。例如,对象文字不仅可以在iOS 6中工作,而且可以在5和(我认为)甚至4中工作。这是因为在对象文字的情况下,更改是在编译器中,而不是在操作系统或框架中。只要您使用的是能够理解对象文字语法的编译器,编译器发出的目标代码就会与旧系统兼容。

答案 1 :(得分:1)

这意味着它所说的。如果它显示“2.0及更高版本”,那么您可以在任何面向SDK 2.0或更高版本的应用中安全地使用它。

答案 2 :(得分:1)

这意味着您可以从此x.x OS版本开始使用它。

以下列方式考虑这一点 - 包括API在内的每个功能都具有初始版本(x.x)。它存在一段时间(通过几个版本),并且在某些时候它变得陈旧(新功能可以做同样的事情,但更好)并且它被标记为已弃用。它仍然可以使用,但不再推荐了。在某些时候,这个功能/ API会死掉(变得不受支持)。

所以,如果你计划支持iOS 4.3及更高版本,你将不得不选择在iOS 4.3到6.0中已经存在的功能(已经诞生但尚未死亡)。

答案 3 :(得分:0)

它不是指SDK版本 - 它是iOS版本。每个版本的iOS都添加了它支持的新API,因此您无法使用该版本中不存在的API(如NSTextAlignmentCenter)。