关于可可API兼容性

问题描述 投票:0回答:1

例如,在macOS 10.10之后不赞成使用某些可可api,而在macOS 10.10之后引入了新的API。 我的问题是我的应用程序是否需要在macOS 10.8和更高版本(10.9,10.10,10.11,10.12)上运行,因此可以使用其中的更高版本。 我对吗? 如果是这样,我该怎么办?

api cocoa compatibility
1个回答
0
投票

我能为此做什么?

在技​​术级别上,您测试API的存在性并相应地抽象分支:

if (10.10 API available)
{
   // use 10.10 API
}
else
{
   // use earlier API or handle not supporting feature
}

在Objective-C中,Apple建议通过测试特定方法(使用respondsToSelector:或类型(使用弱链接)来测试可用性。 您还可以测试特定的框架(推荐)或OS版本(Apple最不喜欢的,程序员经常使用的...)。 如果收到弃用警告,但由于测试知道代码正常,则可以使用#pragma禁止显示警告。

Apple在Swift中提供了针对OS系列(macOS,iOS等)和版本( #available )的测试。

无论您使用哪种语言来构建您要支持的最新SDK。

显然,在许多更改上支持单个代码库可能会变得有些复杂和/或混乱,处理这是一个业务决策。

HTH

© www.soinside.com 2019 - 2024. All rights reserved.