【问题标题】:How to use a custom framework with a playground in Xcode 9如何在 Xcode 9 中使用自定义框架和 Playground
【发布时间】:2018-04-10 13:00:24
【问题描述】:

我正在尝试在 Playground 中使用自定义框架,如本 Apple 文档中所述:

http://help.apple.com/xcode/mac/9.0/#/devc9b33111c

但是,我无法让操场识别框架 (https://github.com/gk-brown/MarkupKit)。它是一个定义模块的 64 位 Objective-C 框架。

这是我尝试过的:

  • 创建一个新的“单一视图”游乐场
  • 按照文档中的指示,打开 Playground 并选择 File > Save As Workspace
  • 关闭操场
  • 打开包含 Playground 的工作区
  • 尝试选择文件> 将文件添加到[工作区名称]

菜单项实际上被命名为“添加文件...”并且被禁用。我可以通过打开 Navigator 面板并选择 Project Navigator 来解决此问题。菜单项更改为“将文件添加到 TestPlayground”并启用。

按照文档中的指示继续:

  • 导航到包含框架的目录,选择框架,然后点击“添加”
  • 在编辑器中,打开所需的 Playground 源文件
  • 为框架添加导入语句(例如“import MarkupKit”)

控制台显示如下错误:

error: TestPlayground.playground:5:8: error: no such module 'MarkupKit'

该文档还指出,工作空间必须包含至少一个构建目标的活动方案。但是,将项目添加到工作区并构建它并不能解决问题。 Playground 仍然看不到框架。

根据我在 SO 其他地方读到的内容,这似乎应该是可能的。但是,我发现的大多数信息都是 2-3 年前的,可能已经过时了。该框架是一个通用二进制文件,我尝试使用 lipo 对其进行修整,正如其他一些帖子中所建议的那样。具体来说,我是这样做的:

https://github.com/gk-brown/MarkupKit/wiki/Deployment

不幸的是,它没有帮助。

非常感谢任何建议。

【问题讨论】:

  • 嘿,你找到解决方案了吗?
  • 不。我向 Apple 提交了错误报告。收到回复后会更新。

标签: ios xcode frameworks swift-playground


【解决方案1】:

您的步骤看起来不错,但是 我在这里看到的唯一缺少的部分是在项目中添加一个 .swift Empty 文件。

这实际上是在下面的项目中编译的,所以在这个框架之后就可以导入到 Playground 中了。

【讨论】:

  • 谢谢。当框架和游乐场源位于同一个项目中时,我没有问题,就像您的示例中的情况一样。但是,我无法让它与以前构建的框架一起使用。我尝试使用的是here (MarkupKit-iOS.tar.gz)。
  • 你在尝试哪个 MarkupKit 版本?
  • 我提到的文件中的那个(MarkupKit-iOS.tar.gz)。
  • 您已共享发布链接,而不是共享标记的 url。 github.com/gk-brown/MarkupKit/releases/tag/4.0.7 或 github.com/gk-brown/MarkupKit/releases/tag/4.0.6 你用的是哪一个?
  • 目前只有 4.0.7 可以作为已编译的二进制文件使用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-25
  • 1970-01-01
  • 1970-01-01
  • 2021-02-06
  • 1970-01-01
相关资源
最近更新 更多