如何在 Playground 中导入 Swift 包?

Posted

技术标签:

【中文标题】如何在 Playground 中导入 Swift 包?【英文标题】:How to import Swift Package in Playground? 【发布时间】:2020-02-22 13:51:19 【问题描述】:

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

【问题讨论】:

【参考方案1】:

在 Xcode 12 中,您可以将 Swift 包与 Xcode Playgrounds 一起使用。

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

您可以在此 WWDC20 会议中找到更多详细信息和示例项目:Explore Packages and Projects with Xcode Playgrounds

确保在检查器中为您的现有游乐场选中新的“构建活动方案”复选框。

【讨论】:

一步一步,如何“将Package目标导入您的Playground”?【参考方案2】:

查看Arena,它允许您创建嵌入了可供使用的 SPM 依赖项的 Playground。

只需要

brew install finestructure/tap/arena
arena alamofire/alamofire

【讨论】:

【参考方案3】:

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

File > Swift Packages > Add Package Dependency

该选项已禁用。

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

关于 SPM 并不是一件容易的事,苹果已经准备好 Xcode11 会有所不同,但我感觉很好,我认为它可能会在 9-10 月准备好。

【讨论】:

【参考方案4】:

我无法让@wolfrevo 的回答起作用。但是,我有一个受他启发的解决方案:

    打开 Xcode 创建一个新项目 (File > New > Project) 选择Muliplatform > App > 下一步 项目名称:随便 > 下一步 创建 现在添加依赖项 (File > Swift Packages > Add Package Dependency) 粘贴包git url:https://github.com/maxhumber/Carlo.git> 下一步 选择规则,或跳过 > 下一步 完成 在这个项目中通过快捷键Cmd+N新建一个Playground文件 搜索Playground > 下一步 创建

【讨论】:

我在重新启动 xcode (12.2) 之前添加的包出现“未找到符号”错误 ...lol

以上是关于如何在 Playground 中导入 Swift 包?的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Swift Playground 中导入 tensorflow

在 Swift Playground 中导入使用 Firebase 的框架(“缺少必需的模块 'Firebase'”)

在 Swift Playground 中导入 pod 时出现“没有这样的模块”

如何在 xcode 的 Playground 中导入 RxSwift?

在 Nativescript Playground 中导入 npm 包

在 Swift 框架中导入 CommonCrypto