3

I would like to debug a method deep inside my "Sources" folder within a Swift Playground.

public func wannaDebugThis() {
    let x = 42
    let text = "Debug message with useful information: x = \(x)"
    print(text)
}

Within a macOS playground, the print output is shown in the debug area, as described in this question.

On iPad however, the print statement seems to be ignored. Even within Console.app on mac, I cannot find the desired output.

How do I write debug statements on iPad and where do I find them?

jraufeisen
  • 3,005
  • 7
  • 27
  • 43

3 Answers3

2

While I couldn‘t find a way to modify an Empty/Blank Playground to provide console in-/output. There is the „Answers“ template, that you can use for simple console interactions.

Another way is to use the „Interactions“ template, provided here: https://buildingrainbows.com/2018/03/13/print-to-the-console-in-swift-playgrounds-for-ipad/

Daniel Rothmaler
  • 560
  • 4
  • 14
2

This feature has been added to Swift Playgrounds version 3.4 on iPad

version History

Screenshot of Print

byaruhaf
  • 4,128
  • 2
  • 32
  • 50
0

In order to write debug messages from the iPad to the console, NSLog() has to be used.

public func wannaDebugThis() {
    let x = 42
    let text = "Debug message with useful information: x = \(x)"
    NSLog(text)
}

The output of NSLog() can be found under the process named ExecutionExtension in Console.app on macOS. The output of print messages is only shown as <private>, which can be seen on attached screenshot.

enter image description here

jraufeisen
  • 3,005
  • 7
  • 27
  • 43