How can I print to console in Swift Playgrounds on

2020-04-21 01:20发布

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?

2条回答
beautiful°
2楼-- · 2020-04-21 01:42

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

查看更多
▲ chillily
3楼-- · 2020-04-21 01:47

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/

查看更多
登录 后发表回答