Esteban Torres

13pods

BuildaUtils

Both Buildasaur and XcodeServerSDK need similar utilities. This is where I keep them.

License: MIT

  • Swift

ColorFromAddress

Helps determine when views are being re-used and also to get an easy and quick way of knowing how views are laying out when doing UI via code. Below a code sample:

UIView *tmpVw = [[UIView alloc] initWithFrame:CGRectZero]; tmpVw.backgroundColor = [tmpVw colorFromMemory];

This was "inspired" by [this blog post]("http://blog.bignerdranch.com/879-peek-a-view/") from [Mark Dalrymple]("http://blog.bignerdranch.com/author/markd/").

License: MIT

  • Objective C

crash-report-assert

Custom assertion Thanks to the article by Mike Ash (see legal at the bottom) I came to the realization that the assertions provided by default although good in principle lack a lot of potential and decided that a better one could be done with some simple tweakings from the code in the article. For this I created a "custom" assertion that also supports the use of CocoaLumberjack and has a "hack" to throw exceptions when the assertion fails (instead of just aborting). The assertion has a couple of possible "configurations" explained below.

Features supported Assertion supports the use of CocoaLumberjack [GitHub Repo] for more detailed logging. In order to use it you need to set the PREPROCESSOR macro USELUMBERJACK=1 and configure the loggers for CocoaLumberjack (demo app does this) Assertion also supports a "hack" to make the assertion reach the CrashReport via a flag that will output the assert as an exception. Note: The "extra" data will just appear in the CrashReport pointing to the line where the assertion was called. To do this specify the PREPROCESSOR macro kSHOULDTHROW_EXCEPTION=1 and this will make the assertion to build a "custom" exception with the following data: Message: Assertion Failure - #expression Reason: #expression User Info: File: File name where the assertion failed Line: Line number on the file where the assertion failed Function: The name of the function where the assertion failed Message: The custom message provided to the assertion (if any)

To-Do Add support for FlurrySDK (Logging the custom exception to Flurry as a way to reach all the possible data) Add support for Crittercism (Same as FlurrySDK) Add an automatic way of sending the CocoaLumberjack logs compressed to a desired location

Legal Based on an article by Mike Ash - Friday Q&A 2013-05-03: Proper Use of Asserts

Icon was taken from IconFinder.com And used under this license

License: Custom

  • Objective C

ETAssert

KZAsserts provides a great amount of helper assertions that provide testing capabilities even during production code. Unfortunately it provides a preset of specific cases but no "run block" scenario.

ETAssert will execute the provided ^(NSError *){ /*code here*/ } block in case you need to return something other than NO or nil.

License: MIT

  • Objective C

ETFormatter

ETFormatter formats with custom colors and headers with detailed information of the class, function and line for CocoaLumberjack logger.

License: MIT

  • Objective C

ETFramework

#ETFramework Helper basic framework for iOS projects. Some categories and helper classes for easy and quicker development.

License: MIT

  • Objective C

ETImageFromColor

UIImage category with some convenience methods. For now only generates a UIImage from UIColor.

License: MIT

  • Objective C

ETTextField-TestHelper

This category was primarily created due to FBSnapshotTestCase and ReactiveCocoa. Due to the RACSignals (rac_textSignal) bindings to UIButton RACCommands responding to changes in UITextField my FBSnapshotTestCase were failing.

Even though we were "injecting" the correct data to the model the bindings were not firing the signal to enable the button. In here you'll find an easy method that will set the text and will also fire the rac_textSignal.

License: MIT

  • Objective C

Moya

Moya abstracts network commands using Swift Generics to provide developers with more compile-time confidence.

ReactiveSwift and RxSwift extensions exist as well. Instructions for installation are in the README.

License: MIT

  • Swift

Nimble-Snapshots

Nimble matchers for FBSnapshotTestCase. Highly derivative of Expecta Matchers for FBSnapshotTestCase.

License: MIT

  • Swift

Rec

Rec is a NSURLProtocol that intercepts each NSURL request made from NSURLSessions (with defaultSessionConfiguration & ephemeralSessionConfiguration) and adds itself as the delegate for the connection; once the request succeeds the framework will save it to the application's Documents folder (under «Fixtures» folder).

License: MIT

  • Swift

RxViewModel

RxViewModel is the marriage between MVVM and Rx extensions

Since ReactiveViewModel project felt on stagnation and there's not Swift or Swift 2.0 implementation we found the need to implement something like this on Swift.

Given the fact that there's no Swift branch and the lack of interest in the project we felt it was better to give RxSwift/RxCocoa a chance and instead use it as the base for this reactive view model approach.

Long story short: a blatant «imitation» of ReactiveViewModelusing RxCocoa.

License: MIT

  • Swift

XcodeServerSDK

Access Xcode Server API with native Swift objects.

License: MIT

  • Swift