CocoaPods trunk is moving to be read-only. Read more on the blog, there are 14 months to go.
| TestsTested | ✗ |
| LangLanguage | Obj-CObjective C |
| License | MIT |
| ReleasedLast Release | Dec 2014 |
Maintained by Ryan Olson.
LLDB-QuickLook is a debugger command to open images, views, and more using Quick Look. This command is great for inspecting any object that is not well represented by a string in the debugging console. The command is inspired by Xcode's new Quick Look feature, but is better in two ways:
1.) You can inspect any object accessible by an lldb expression, not just objects available in the Xcode GUI. 2.) Any type of object can be inspected by implementing a simple data provider protocol, not just UIImages.
The command is quite simple. It asks an object in your program for debug data, saves the data to a tmp file on your computer, and opens the file using Finder and Quick Look.
.lldbinit file to your home directory (or append the lines to your existing .lldbinit).lldb_quick_look.py in the .lldbinit file to match the script's location on your machine.DataProviders directory to your Xcode project. LLDB-QuickLook requires Xcode 5 or later.
When your program is paused on a breakpoint in lldb, calling the command:
quicklook <object> or ql <object>
will ask the object for its quickLookDebugData and save that data to the object's quickLookFilename. The file will be saved under /tmp/<target> and opened using Finder + Quick Look. You can make any object into a Quick Look data provider by simply implementing the quickLookDebugData and quickLookFilename methods. Simple implementations of data providers for NSObject, UIImage, UIView, NSData, and NSString can be found in the DataProviders directory.
(lldb) quicklook self.imageView.image
(lldb) ql [[UIApplication sharedApplication] keyWindow]
(lldb) quicklook -f some_object.json -- [self jsonString]
(lldb) ql -l self.view
Tip: type help quicklook from the lldb prompt to see the options for the command.
quicklook uses lldb's powerful (but poorly documented) python scripting bridge. I don't typically write in python, so apologies if I've mixed in some objective-c style conventions. If you have any ideas, comments, or feedback, I'm @ryanolsonk on twitter, and pull requests are welcome!