有没有办法为 Xcode playground 设置部署目标

Is there a way to set deployment target for a Xcode playground

提问人:weenzeel 提问时间:8/6/2020 更新时间:9/8/2023 访问量:1109

问:

我已经升级到 MacOS 11 (Big Sur) Beta 4。和 Xcode 12 beta 4。

我有一个 Swift 游乐场和 Combine 发布者:

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) })

升级后,我的 playgrounds 开始失败,并显示消息:“'flatMap(maxPublishers:_:)' 仅在 macOS 11.0 或更高版本中可用”。swift 编译器不会指示代码中的任何错误。如果将代码放在普通的 Xcode 命令行应用程序项目中,则该代码工作正常。

可以通过将发布者封闭在可用性检查中(例如在操场上)来缓解此错误。if #available(macOS 11.0, *) { }

我假设这是一个错误,我已经向 Apple 提交了问题。

或者这是预期的行为?如果是......有没有办法向 Playground 提示要假设的部署目标?如果它没有正确选取运行它的操作系统的实际版本。

谢谢!

swift xcode swift-playground xcode12

评论

3赞 Yigit Alp Ciray 12/1/2022
嗨,weenzeel,您能找到解决方法吗?

答:

0赞 vaibhav sharma 9/8/2023 #1

如果要为 Playground 显式指定不同的部署目标,可以在 Playground 设置中执行此操作。方法如下:

  1. 打开 playground 文件。转到菜单栏,然后选择“编辑器”> “显示项目导航器”以显示左侧
    的文件列表。

  2. 在 Project Navigator 中,您应该会看到 playground 文件。 右键单击(或按住 Control 键单击)它,然后选择“显示文件检查器”。

  3. 在文件检查器中,您可以找到一个名为
    “部署目标”的部分。

  4. 您可以将其更改为其他 macOS 版本(如果需要)。

评论

2赞 Kudit 9/11/2023
Swift Playground (.swiftpm) 文件没有“部署目标”部分。只有“常规”、“签名和功能”和“包”部分。常规仅包含“应用设置”,并且没有像典型的 Xcode 项目那样设置部署目标的选项。