【发布时间】:2021-08-29 09:55:04
【问题描述】:
当我发布一个 Swift 包时,我喜欢包含一些 Playgrounds 来展示如何使用该包的示例。在 Swift 5.4 之前,我能够以一种相对简单的方式做到这一点,但现在我的 Playgrounds 都没有看到我的包模块的内容。这对我来说没有任何意义。
我遵循了 Apple 自己的 WWDC 视频所展示的确切模式,即拥有一个 Playgrounds/ 文件夹作为您的 Sources/ 文件夹的对等,然后只需导入包模块。
导入有效,但 Playground 总是报告它无法从模块内部找到任何类型。它们都被标记为public,正如我之前提到的,它们过去工作得很好。
这对我在 Swift 5.4 或 5.5、Xcode 12.5 或 13 Beta 中不起作用.
我认为一定有一些我不理解的设置或配置。有人可以在这里解释最佳做法吗?
作为参考,这是我的一个简单的 Swift 包,它的 Playgrounds 目前不工作: https://github.com/dunesailer/Wordsmith
编辑:它变得更加陌生。我有一个 不同 Swift 包,它的结构在我看来完全一样,但它的 Playgrounds 工作正常。什么?那个在这里: https://github.com/dunesailer/Aesthete
【问题讨论】:
-
我注意到工作回购没有
.static库产品,但不工作的项目有。为什么在Package.swift中使用.static?虽然看起来删除它没有帮助 -
这不是 Xcode 中最完善的功能。这是其他人的经验,可能会有所帮助:useyourloaf.com/blog/xcode-12.5-playground-access-to-app-types
-
是的,我担心
.static项目可能会让人们有点失去气味,但我已经测试过将其移除。如果我没记错的话,我需要它,因为包从自身加载了几个资源才能工作,而那些在没有.static规范的情况下使用这个包的项目中不能正常工作。 -
如果您需要更多帮助,可以去Swift forums,如果您还没有。
标签: swift xcode swift5 swift-playground swift-package-manager