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

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

Apple 从 Xcode 14.3 开始弃用了一些用于 macOS 屏幕捕获的 API。例如:

CGDisplayStream.showCursor
在 macOS 13.0-13.3 中被标记为已弃用:

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

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

同样适用于

CGDisplayStream.init
和其他。有人对此有什么想法吗?

xcode macos quartz-core
2个回答
2
投票

这似乎在 Xcode 15 中已修复。现在弃用注释包含正确的 macOS 版本。


1
投票

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

ScreenCaptureKit
框架或寻找替代方案。

我发现这个问题的唯一解决方法是将这些

Swift
实现转换为
Objective C
并使用
Xcode 14.3
编译代码,或者使用旧的
Xcode 14.2
构建二进制文件。当您将实现转换为
Objective C
并使用
Xcode 14.3
进行编译时,它仍然会向您发出警告,但代码可以正常工作。

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

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