Ios 如何调试Swift PlaygroundBook?

Ios 如何调试Swift PlaygroundBook?,ios,swift,xcode,debugging,swift-playground,Ios,Swift,Xcode,Debugging,Swift Playground,当我探索游乐场书籍示例代码时,比如,我发现让代码运行非常乏味,因为游乐场书籍在代码可以运行的地方存在限制:只能在iPad的Swift游乐场上运行 由于所有源文件都以不可编辑的纯文本显示,因此无法在iOS的Swift Playway中调试“Sources”/“辅助代码”。您必须在Xcode中打开源文件才能编辑它们,但这样您就无法编译或运行它们了 这对于上面的示例代码来说尤其乏味,它使用了PlaygroundValue,这是一种需要PlayBook格式的持久化API,因此我仍然无法通过将所有源代码分

当我探索游乐场书籍示例代码时,比如,我发现让代码运行非常乏味,因为游乐场书籍在代码可以运行的地方存在限制:只能在iPad的Swift游乐场上运行

由于所有源文件都以不可编辑的纯文本显示,因此无法在iOS的Swift Playway中调试“Sources”/“辅助代码”。您必须在Xcode中打开源文件才能编辑它们,但这样您就无法编译或运行它们了

这对于上面的示例代码来说尤其乏味,它使用了
PlaygroundValue
,这是一种需要PlayBook格式的持久化API,因此我仍然无法通过将所有源代码分离到单独的PlayBook文件中以在Mac上运行来运行代码

由于上面的示例代码已经过时,我发现几乎不可能正确调试并运行代码。你必须:

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


您的工作流程是什么,以便使用PlayBook高效地调试和部署代码?对我来说似乎不切实际,我认为一定有更好的方法,但我对游乐场书籍不够熟悉,而且我的在线研究也没有产生任何合理的解决办法。

我不知道有任何可能不需要你在实际的iPad上测试游乐场。 无论如何,你可以通过以下方式使开发Swift游乐场变得不那么乏味

  • 使用iCloud将mac版本与iPad同步
  • 将游乐场嵌入到Xcode项目中,如中所述。这样,您至少可以在开发过程中实现自动完成
  • 将源文件链接到另一个目标,以便在运行游戏之前捕获编译错误

  • 无论如何,你仍然会不时遇到神秘的“问题跑步操场”错误

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

    实际上,我们已经构建了一些工具来帮助调试辅助源代码,我们在2018年WWDC上做了一个演示。请在此处查看演示文稿并访问工具:

    经过进一步研究,我发现他们最近发布了:

    Swift操场作者模板是一个初学者Xcode项目,它将帮助您创建、调试和生成一本操场书籍。使用该模板,您可以像一个应用程序一样逐步浏览live view的代码,这样您就可以更轻松地识别错误,并为开发游乐场书籍开发一个高效的工作流程

    该模板需要运行Swift 4.1,包括三个不同的目标:

    • 剧本
    • 图书资料
    • LiveViewTestApp


    您可以使用
    LiveViewTestApp
    在Mac电脑上使用Xcode完全调试您的游乐场书籍。

    请注意,这是一个关于游乐场书籍的问题。感谢@HuaTham的提醒。上述工作流程适用于游乐场手册以及普通游乐场。