如何调试Swift PlaygroundBook?

时间:2018-07-09 14:06:17

标签: ios swift xcode debugging swift-playground

虽然我正在探索Playground Book示例代码,例如this one,但由于Playground Book在可以运行代码的地方存在局限性,我发现让代码运行非常繁琐:仅在iPad的Swift Playground上

由于所有源文件都以不可编辑的纯文本格式显示,因此无法在iOS的Swift Playground中调试“源” /辅助代码。您必须在Xcode中打开源文件才能对其进行编辑,但是您无法编译或运行它们!

这对于上面的示例代码特别繁琐,该示例代码使用PlaygroundValue,这是一种需要Playground Book格式的持久性API,因此我仍然无法通过将所有源代码分成一个单独的Playground来运行代码文件在Mac上运行。

由于上面的示例代码已过时,因此我发现几乎不可能对其进行正确调试并使其运行。您必须:

  • 在iPad上部署代码。运行书。
  • 在iPad上看到许多错误消息。
  • 返回Mac上的Xcode,并手动对其进行一次调试。
  • 再次在iPad上部署代码以运行。重复该过程。
  • 即使所有错误都得到解决,您仍然可以面对神秘的“问题运行场”,而无需任何进一步的具体解释。

enter image description here enter image description here

使用Playground Book高效地调试和部署代码的工作流程是什么? Current workflow对我来说似乎不切实际,我认为必须有一个更好的方法,但是我对Playground Book不够熟悉,而且我的在线研究没有任何合理的解决方法。

2 个答案:

答案 0 :(得分:1)

从我发送给Apple的错误报告/建议中,我得到了以下答复:

  

我们实际上已经构建了用于调试辅助信号源的工具,我们在WWDC 2018上做了一个演示来演示它。请查看演示文稿并在此处访问工具:https://developer.apple.com/videos/play/wwdc2018/413/

经进一步研究,我发现他们最近发布了Playgrounds Author Template

  

Swift Playgrounds作者模板是一个入门Xcode项目,它将帮助您创建,调试和制作Playground书籍。使用该模板,您可以像浏览器一样逐步浏览实时视图的代码,从而可以更轻松地识别错误并开发有效的工作流来开发Playground图书。

此模板(需要运行Swift 4.1)包括三个不同的目标:

  • PlaygroundBook
  • Book_Sources
  • LiveViewTestApp

enter image description here

您可以使用LiveViewTestApp在Mac上使用Xcode完全调试Playground Book。

答案 1 :(得分:0)

我不知道有没有可能不需要您在实际的iPad上测试Playground。 不管怎样,您可以通过

使开发Swift Playgrounds不再那么乏味。
  1. 使用iCloud将Mac版本与iPad同步。
  2. 按照one of my previous answers中的说明将您的Playground嵌入Xcode项目中。这样,您至少可以在开发过程中实现自动完成。
  3. 将您的源文件链接到另一个目标,以便在运行Playground之前可以捕获编译错误。

无论如何,您仍然会不时遇到神秘的“问题运行游乐场”错误