All Projects → Patrick-Kladek → Cocoadebugkit

Patrick-Kladek / Cocoadebugkit

Licence: mit
Debugging made easy. Automatically create QuickLook images of custom objects

Projects that are alternatives of or similar to Cocoadebugkit

Hmlldb
HMLLDB is a collection of LLDB commands to assist in the debugging of iOS apps.
Stars: ✭ 30 (-93.56%)
Mutual labels:  xcode, debugging
Lldb
A collection of LLDB aliases/regexes and Python scripts to aid in your debugging sessions
Stars: ✭ 1,187 (+154.72%)
Mutual labels:  xcode, debugging
Netfox
A lightweight, one line setup, iOS / OSX network debugging library! 🦊
Stars: ✭ 3,188 (+584.12%)
Mutual labels:  xcode, debugging
Construct.css
Focus on the content and structure of your HTML
Stars: ✭ 432 (-7.3%)
Mutual labels:  debugging
Uitextfield Navigation
🏄‍♂️ UITextField-Navigation makes it easier to navigate between UITextFields and UITextViews
Stars: ✭ 436 (-6.44%)
Mutual labels:  xcode
Pplkiller
Protected Processes Light Killer
Stars: ✭ 453 (-2.79%)
Mutual labels:  debugging
Gedatsu
Gedatsu provide readable format about AutoLayout error console log
Stars: ✭ 464 (-0.43%)
Mutual labels:  xcode
Boxx
Tool-box for efficient build and debug in Python. Especially for Scientific Computing and Computer Vision.
Stars: ✭ 429 (-7.94%)
Mutual labels:  debugging
Xcode Kotlin
Kotlin Native Xcode Plugin
Stars: ✭ 457 (-1.93%)
Mutual labels:  xcode
Sourceful
A syntax highlighting source editor for iOS and macOS using UITextView and NSTextView.
Stars: ✭ 449 (-3.65%)
Mutual labels:  xcode
React Native Mixpanel
A React Native wrapper for Mixpanel tracking
Stars: ✭ 451 (-3.22%)
Mutual labels:  xcode
Stringz
A lightweight and powerful editor for localizing iOS, macOS, tvOS, and watchOS applications.
Stars: ✭ 440 (-5.58%)
Mutual labels:  xcode
Xcodegen
A Swift command line tool for generating your Xcode project
Stars: ✭ 5,032 (+979.83%)
Mutual labels:  xcode
Sketchcachecleaner
💻 Sketch Cache Cleaner - Deletes hidden Sketch history files that can take a lot of space on your hard drive and that you would probably never use.
Stars: ✭ 435 (-6.65%)
Mutual labels:  xcode
Dnspageview
一个纯 Swift 的轻量级、灵活且易于使用的 pageView
Stars: ✭ 461 (-1.07%)
Mutual labels:  xcode
Gradle Xcodeplugin
gradle plugin for building Xcode Projects for iOS, watchOS, macOS or tvOS
Stars: ✭ 430 (-7.73%)
Mutual labels:  xcode
Sppermissions
Ask permissions with ready-use interface. You can check status permission and if it has been requested before. Support SwiftUI.
Stars: ✭ 4,701 (+908.8%)
Mutual labels:  xcode
Hero
Elegant transition library for iOS & tvOS
Stars: ✭ 20,547 (+4309.23%)
Mutual labels:  xcode
Pbxprojhelper
A macOS tool help you handling project.pbxproj files. Written in Swift 5!
Stars: ✭ 444 (-4.72%)
Mutual labels:  xcode
Downloader For Apple Developers
Download Xcode, WWDC Videos, and other developer tools up to 16 times faster.
Stars: ✭ 456 (-2.15%)
Mutual labels:  xcode

CocoaDebugKit

Twitter: @PatrickKladek License Build Platform Tested Carthage compatible

Debugging made easy. Automatically create QuickLook images of custom objects.

This project helps developers to visualize custom objects and will therefore speed up your development process.

Lets say we have a custom Object called "Person" and want to inspect all variables in Xcode. This will look something like that:

alt text

With CocoaDebugKit it will look like this:

alt text

So how can we achieve this goal? It´s easy just add this Framework to your Project and implement this method in your custom object:

#import "Person.h"
#import <CocoaDebugKit/CocoaDebugKit.h>


@implementation Person

- (id)debugQuickLookObject
{
    return [CocoaDebugView debugViewWithAllPropertiesOfObject:self includeSuperclasses:YES];
}

@end

After that set a breakpoint in your code, select an object you want to inspect and hit space. This will open a small quicklook popover with the contents of your object.

Requirements

  • macOS 10.9+
  • iOS 8+
  • Xcode 11+

Installation

The prefered way to use CocoaDebugKit is via Carthage. Simply add this line to your cartfile:

github "Patrick-Kladek/CocoaDebugKit"

and run:

carthage update --platform ios

Known Limitations

  • NSObject rootclass required
  • Cocoa Runtime

Both of these limitations don't prevent you from using CocoaDebugKit. You can always create the debugView manually:

- (id)debugQuickLookObject
{
    CocoaDebugView *view = [CocoaDebugView debugView];

    [view addLineWithDescription:@"Image:" image:self.image];
    [view addLineWithDescription:@"First Name:" string:self.firstName];
    [view addLineWithDescription:@"Last Name:" string:self.lastName];
    [view addLineWithDescription:@"Birthday" date:self.birthday];

    return view;
}

Note

On iOS returning a UIView subclass to QuickLook may result in an empty preview. To fix this simply return an image.

return [[CocoaDebugView debugViewWithAllPropertiesOfObject:self includeSuperclasses:YES] imageRepresentation];
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].