https://github.com/Patrick-Kladek/CocoaDebugKit
Debugging made easy. Automatically create QuickLook images of custom objects
https://github.com/Patrick-Kladek/CocoaDebugKit
debugging quicklook xcode
Last synced: 4 months ago
JSON representation
Debugging made easy. Automatically create QuickLook images of custom objects
- Host: GitHub
- URL: https://github.com/Patrick-Kladek/CocoaDebugKit
- Owner: Patrick-Kladek
- License: mit
- Created: 2016-05-16T19:59:31.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2023-11-29T07:59:57.000Z (over 1 year ago)
- Last Synced: 2024-10-04T22:14:01.287Z (9 months ago)
- Topics: debugging, quicklook, xcode
- Language: Objective-C
- Homepage:
- Size: 5.52 MB
- Stars: 467
- Watchers: 5
- Forks: 22
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
CocoaDebugKit
============
[](https://twitter.com/PatrickKladek)
[](https://github.com/Patrick-Kladek/CocoaDebugKit/blob/master/LICENSE.md)



[](https://github.com/Carthage/Carthage)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:

With CocoaDebugKit it will look like this:

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:
```objective-c
#import "Person.h"
#import@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 RuntimeBoth of these limitations don't prevent you from using CocoaDebugKit. You can always create the debugView manually:
```objective-c
- (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.```objecitve-c
return [[CocoaDebugView debugViewWithAllPropertiesOfObject:self includeSuperclasses:YES] imageRepresentation];
```