Xcode Playgrounds is a great way to rapidly prototype and run an isolated piece of Swift code: an algorithm implementation, type architecture, or even an interactive view hierarchy – with support for live views. The iterative nature of playgrounds enables experimenting with and fixing issues quickly, but sometimes it may not be clear what actually causes an undesired behaviour or an incorrect layout. Traditionally developers rely on debuggers to examine the runtime state of their program at a particular point in time without having to modify and restart it, but aside from timeline previews, this sort of functionality is not currently available in playgrounds. This includes the View Debugger, which means that diagnosing obscure layout issues in custom live views requires resorting to trial and error… unless of course you have Reveal!
A new release of Reveal (v9) is available to all users with a current license, and as a 14-day trial. This release is focused on addressing some of the issues that have cropped up with the beta versions of iOS and Xcode that Apple introduced at WWDC17, namely:
New in this month’s release of Reveal is support for Auto Layout guides. Represented by the UILayoutGuide class, layout guides have been introduced to UIKit as an efficient replacement for “dummy views”, and can be used as spacing between views or to help implement a complex layout. Built-in views like UIStackView use UILayoutGuide internally to implement their layout behavior, while several UIKit classes expose special guides to allow access to specific layout features.
With the latest release of Reveal (v5), we now provide a set of debugger commands accessible from the LLDB console (including Xcode’s Debug Console). These commands allow you to easily load and control the Reveal Server framework in your current debug session with either the LLDB console command line or breakpoint commands.