如何在 Playground 中导入 Swift 包?

pac*_*ion 16 swift swift-playground swift-package-manager

我可以将 Swift Package 导入到我工作区中的 Playground 吗?我已经阅读了答案,但我认为它已经过时了,因为现在我们可以在 iOS 项目中使用 Swift Packages。

wol*_*evo 12

在 Xcode 12 中,您可以将 Swift Packages 与 Xcode Playgrounds 结合使用。

  • 打开 Xcode
  • 创建一个新的工作区 ( File > New > Workspace...)
  • 通过File > Add Files to "Workspace Name"...选择包目录添加所需的 Swift 包。
  • 通过File > New > Playground.... 确保在 Playground 创建期间(在您选择 Playground 在磁盘上的位置的助手中)选择我们刚刚创建的工作区作为“添加到”和“组”选项。
  • 您现在可以将 Package 目标导入 Playground 并开始探索 Package 的功能。

您可以在此 WWDC20 会议中找到更多详细信息和示例项目:使用 Xcode Playgrounds 探索包和项目

确保在现有Playgrounds的检查器中选中新的“构建活动方案”复选框。

  • 一步一步地,如何“将 Package 目标导入到您的 Playground 中”? (2认同)
  • 至少从 XCode14.2 开始,您需要在工作空间内有一个项目,并且必须将 Playground 添​​加到项目中,以便能够添加包。详情请参阅 alex1704 的回答。工作空间实际上并不重要,重要的是项目。 (2认同)
  • 这在 Xcode 15 中不起作用。 (2认同)

Yog*_*ate 6

目前,Playground 还不支持 Swift 包管理器。当我们尝试使用 Xcode 添加 Swift PM 时

File > Swift Packages > Add Package Dependency
Run Code Online (Sandbox Code Playgroud)

该选项被禁用。

在此输入图像描述

一个选项是使用nef - 它是一个开源项目,可让您在 Playgrounds 中导入第三方库。目前,它与 Cocoapods 兼容,但 nef 正在努力将其开放给其他依赖管理器,例如 Carthage 和 SPM。

关于SPM并不是一件容易的事,而且会有点不同,因为苹果已经准备好了Xcode11,但我有很好的感觉,我认为它可以在9月到10月准备好。


sas*_*sas 5

查看Arena,它允许您创建带有嵌入式 SPM 依赖项以供使用的 Playground。

只需要

brew install finestructure/tap/arena
arena alamofire/alamofire
Run Code Online (Sandbox Code Playgroud)