NSAccessibilityProtocol与NSAccessibility(保持XCode 9和10兼容性)

时间:2018-08-21 12:53:52

标签: swift xcode xcode10

我刚刚安装了Xcode 10 Beta。

问题是:

  • XCode 10希望我将NSAccessibility更改为NSAccessibilityProtocol
  • XCode 9对NSAccessibilityProtocol一无所知

XCode 10中的错误消息是

  

'NSAccessibility'在Swift中不可用:已重命名为   “ NSAccessibilityProtocol”

XCode 9中的错误消息是

  

使用未声明类型的“ NSAccessibilityProtocol”

有没有办法使项目与两个XCode版本兼容?

我尝试过:

#if swift(>=4.1)
return object is NSAccessibilityProtocol
#else
return object is NSAccessibility
#endif

但这没有帮助。

如果我没记错的话,两个XCode的Swift版本是相同的,它取决于当前上下文中的“构建设置”。但是我至少尝试过。

我读过compatibility article,但目前提示很少。

似乎取决于AppKit版本。但是我不知道如何表达这种情况。

What's new in AppKit

  

Swift和Objective-C API增强功能AppKit的Swift接口是

     

在macOS 10.14中进行了改进,以实现更高的清晰度,一致性,   简洁,以及Swift的原生感觉。在许多情况下,这些增强功能   对相应的Objective-C API进行改进。的   变更包括正式制定非正式协议;将枚举移动到   通用前缀标识符约定;悬挂Swift声明   放入适当的本地名称空间;重命名Swift的某些功能;   用计算的属性替换函数;为某些人添加二传手   以前是只读的数组值属性;和类似的增强   这些发行说明中讨论了这些内容。

0 个答案:

没有答案