Xcode 14.3 以一种奇怪的方式弃用 QuartzCore API

Ros*_*iak 6 macos xcode quartz-core

从 Xcode 14.3 开始,Apple 弃用了 macOS 屏幕捕获的一些 API。例如:CGDisplayStream.showCursor在 macOS 13.0-13.3 中被标记为已弃用:

在此输入图像描述

然而,当我在 Xcode 14.3 中检查时,我发现这个属性是在 macOS 13 中引入的:

在此输入图像描述 我该如何理解这一点?13.0 中未引入。我从 macOS 10 开始就使用它。如果你在 Xcode 14.2 中检查相同的属性:

在此输入图像描述

这同样适用于CGDisplayStream.init和其他人。有人对此有什么想法吗?

Tri*_*ent 1

今天我在将 Xcode 升级到 14.3 后也遇到了这个问题,看起来 Apple 已经找到了一种新方法来传达这些常量将很快被弃用,最好转移到ScreenCaptureKit框架或寻找替代方案。

我发现解决此问题的唯一解决方法是将这些Swift实现转换为Objective CXcode 14.3使用旧的Xcode 14.2. 当您将实现转换为Objective C并编译时Xcode 14.3,它仍然会给您警告,但代码工作得很好。

不确定您是否会喜欢这种方法,但想分享。