use*_*929 20 xcode swift swift-playground xcode12
我已升级到 MacOS 11 (Big Sur) Beta 4。和 Xcode 12 beta 4。
我有一个 Swift 游乐场和合并发布者:
Just([1,2,3])
.setFailureType(to: Error.self) // Make the compiler pick up new API in MacOS Big Sur
.flatMap { $0.publisher }
.sink(receiveCompletion: { print($0) }, receiveValue: { print($0) })
Run Code Online (Sandbox Code Playgroud)
升级后,我的 Playground 开始失败,并显示以下消息:“'flatMap(maxPublishers:_:)' 仅在 macOS 11.0 或更高版本中可用”。快速编译器不会指示代码中的任何错误。如果将代码放置在普通的 Xcode 命令行应用程序项目中,则代码可以正常工作。
if #available(macOS 11.0, *) { }
可以通过将发布者纳入可用性检查(例如在游乐场中)来减轻错误。
我假设这是一个错误,并且我已向 Apple 提交了问题。
或者这是预期的行为?如果是……有没有办法向游乐场暗示要假设的部署目标?如果它没有正确获取正在运行的操作系统的实际版本。
谢谢!
Swi*_*hav -1
不幸的是,没有直接的方法来设置 Xcode Playground 的部署目标。Playgrounds 是为快速实验和学习而设计的,与成熟的 Xcode 项目相比,它们的 API 是有限的。但是,您可以根据您的具体需求使用一些解决方法:
归档时间: |
|
查看次数: |
1402 次 |
最近记录: |