【发布时间】:2023-03-04 02:19:01
【问题描述】:
最近添加到 Objective-C 的 @available 可能很方便,但显然是短视的..
任何存在超过几周的应用都需要定位,例如多个 macOS 版本。
不幸的是,唯一的@available 构造显式地针对较旧的 OS 版本似乎可以工作(从Xcode 到并包括12)很麻烦
if (@available(macOS 11.0, *))
{
// all hunky-dory: no-op
}
else
{
// legacy work arounds
...
...
}
只使用带有否定的 else 分支会发出可怕的@available 不会在这里保护可用性编译器警告..
有什么方法可以简化这个可怕的代码并删除虚拟的 no-op 分支?
【问题讨论】:
标签: objective-c xcode macos cocoa