swift-playgroundipad-playgrounds

How can I print to console in Swift Playgrounds on iPad?


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?


Solution

  • 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