All Projects → Yalantis → YALConsole

Yalantis / YALConsole

Licence: MIT license
yalantis.com/

Programming Languages

objective c
16641 projects - #2 most used programming language
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to YALConsole

Pulltomakeflight
Custom animated pull-to-refresh that can be easily added to UIScrollView
Stars: ✭ 497 (+1112.2%)
Mutual labels:  yalantis
Appearancenavigationcontroller
Example with advanced configuration of the navigation controller's appearance
Stars: ✭ 91 (+121.95%)
Mutual labels:  yalantis
Fittrack
Concept of a fitness app.
Stars: ✭ 165 (+302.44%)
Mutual labels:  yalantis
Fasteasymapping
A tool for fast serializing & deserializing of JSON
Stars: ✭ 556 (+1256.1%)
Mutual labels:  yalantis
Pulltorefresh
This component implements pure pull-to-refresh logic and you can use it for developing your own pull-to-refresh animations
Stars: ✭ 1,150 (+2704.88%)
Mutual labels:  yalantis
Cloudkit Demo.objective C
Stars: ✭ 133 (+224.39%)
Mutual labels:  yalantis
Starwars.ios
This component implements transition animation to crumble view-controller into tiny pieces.
Stars: ✭ 3,685 (+8887.8%)
Mutual labels:  yalantis
Segmentio
Animated top/bottom segmented control written in Swift.
Stars: ✭ 2,310 (+5534.15%)
Mutual labels:  yalantis
Pixpic
PixPic, a Photo Editing App
Stars: ✭ 1,261 (+2975.61%)
Mutual labels:  yalantis
Pulltomakesoup
Custom animated pull-to-refresh that can be easily added to UIScrollView
Stars: ✭ 1,928 (+4602.44%)
Mutual labels:  yalantis
Eatfit
Eat fit is a component for attractive data representation inspired by Google Fit
Stars: ✭ 657 (+1502.44%)
Mutual labels:  yalantis
Preloader.ophiuchus
Custom Label to apply animations on whole text or letters.
Stars: ✭ 880 (+2046.34%)
Mutual labels:  yalantis
Ios Guidelines
iOS Guidelines used in Yalantis ;)
Stars: ✭ 145 (+253.66%)
Mutual labels:  yalantis
Koloda
KolodaView is a class designed to simplify the implementation of Tinder like cards on iOS.
Stars: ✭ 4,998 (+12090.24%)
Mutual labels:  yalantis
Displayswitcher
Custom transition between two collection view layouts
Stars: ✭ 2,253 (+5395.12%)
Mutual labels:  yalantis
Yalfield
Custom Field component with validation for creating easier form-like UI from interface builder.
Stars: ✭ 476 (+1060.98%)
Mutual labels:  yalantis
Colormatchtabs
This is a Review posting app that let user find interesting places near them
Stars: ✭ 1,341 (+3170.73%)
Mutual labels:  yalantis
Cloudkit Demo.swift
Stars: ✭ 244 (+495.12%)
Mutual labels:  yalantis
Pull To Refresh.rentals Ios
This project aims to provide a simple and customizable pull to refresh implementation. Made in Yalantis
Stars: ✭ 2,171 (+5195.12%)
Mutual labels:  yalantis
Context Menu.ios
You can easily add awesome animated context menu to your app.
Stars: ✭ 1,854 (+4421.95%)
Mutual labels:  yalantis

Yalantis

YALConsole v1.0

YALConsole is handy and flexible logging utility that integrates into your iOS project. It may be useful to QA engineers that usually do not have access to debugger. Besides custom logging you can add counters, observers and actions.

Requirements

  • iOS 7.0 or later
  • ARC

Integration

  • Downolad YALConsole.
  • Add YALConsole.framework and YALConsole.bundle to the project.
  • Console requires FBKVOController that can be downloaded here.
  • Add -all_load flag to Other Compiler Flags in Build Settings.
  • Import header: #import "YALConsole/YALConsole.h".

Installation with CocoaPods:

Add following to your podfile:

pod 'YALConsole', :git => "https://github.com/Yalantis/YALConsole"

Usage

Console instantiates on first call. You can do that at any point of your app from any thread. After instantiation console is available by two-finger tap gesture. It consists of two tabs: ‘Console’ as it is and ‘Dashboard’.

Console

Following code is similar to NSLog, it throws text message into console.

YALog(@"Hello, console!");

Unlike NSLog, output contains information about thread, class, method an line of code where call happens. Tap output cell on ‘Console’ tab to see additional info.

Dashboard

There are three types of items can be placed on the Dashboard: observers, counters and actions.

###Observer

Adding observer item you get ability to watch for value for key path using KVO.

[YALConsole addObserverOf:self keyPath:@"user.name" forIdentifier:@"Name"];

Identifier is mandatory for each Dashboard Item. It defines uniquity of item and allows to remove object from the Dashboard when you don’t need it anymore.

Observer highlights potentially invalid values: null and nil. Click the item to see history of values of observed variable. Buttons at the bottom of the screen are ‘Clear’, ‘Follow’ and ‘Freeze’. Switching ‘Follow’ off allows you to scroll list even when data updates dynamically. Freezing temporarily unsubscribes list from history updates.

###Counter

Counter works almost similar to observer, but incrementing is up to you. Counter’s values history is also available by click. Adding and incrementing Counter Item:

[YALConsole addCounterForIdentifier:@"Steps"];
[YALConsole incrementCounterForIdentifier:@"Steps"];

###Action

Action Items is a button on the Dashboard that is assigned execution of specified block. This can be handy for specific actions like Keychain clearing.

[YALConsole addAction:^{NSLog(@"Bang!");} forIdentifier:@"Make some noise"];

And don’t forget of retain cycles!

Call Stack Symbols

Click a value on the History screen to see call stack that led to current value assignment. You will also find thread’s identifier there. Tap the icon at the the bottom of the screen to copy all the info into Pasteboard.

Items removal

You can delete item by identifier:

[YALConsole removeItemForIdentifier:@"Steps"];

Or clear whole Dashboard:

[YALConsole removeAllItems];

Setup

Set the history limit with this:

[YALConsole setHistoryLimit:200];

Notice that history doesn’t store values. That would make impact on app’s performance or even lead to inconsistency. So history just keeps description strings. In order to avoid interference with gestures used in your application, you can set the number of taps required to show console:

[YALConsole setNumberOfTouchesRequired:3];

Contact

Follow our blog at yalantis.com

Maintainers

Aleksey Chernish

License

YALConsole is available under the MIT license. See the LICENSE file for more info.

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].