Ash Furrow

25pods

Action

Encapsulates an action to be performed, usually by a button press, but also useful to pass actions to execute later (once or multiple times) without having to expose other objects.

License: MIT

  • Swift

AFImageDownloader

Downloads JPEG images asynchronously and decompresses them on a background thread.

License: MIT

  • Objective C

ARAnalytics

ARAnalytics is a analytics abstraction library offering a sane API for tracking events and user data. It currently supports on iOS: Mixpanel, Localytics, Flurry, GoogleAnalytics, KISSmetrics, Crittercism, Crashlytics, Fabric, Bugsnag, Countly, Helpshift, Tapstream, NewRelic, Amplitude, HockeyApp, HockeyAppLib, ParseAnalytics, HeapAnalytics, Chartbeat, UMengAnalytics, Librato, Segmentio, Swrve, YandexMobileMetrica, Adjust, AppsFlyer, Branch, Snowplow, Sentry, Intercom, Keen, Adobe, InstallTracker, Appsee, MobileAppTracker, LaunchKit, Firebase, Leanplum and Appboy. And for OS X: KISSmetrics, Mixpanel, HockeyAppOSX and ParseAnalytics. It does this by using CocoaPods subspecs to let you decide which libraries you'd like to use. You are free to also use the official API for any provider too. Also, comes with an amazing DSL to clear up your methods.

License: MIT

  • Objective C

ARCollectionViewMasonryLayout

ARCollectionViewMasonryLayout is a UICollectionViewLayout subclass for creating masonry / pintrest / flow-like layouts with dynamic widths or heights. Supports sticky headers too.

License: MIT

  • Objective C

Box

Swift µframework of the ubiquitous Box & MutableBox reference types, for recursive value types & misc. other purposes.

License: MIT

  • Swift

Expecta+Snapshots

Use ios-snapshot-test-case's FBSnapshotTest with Expecta matchers for readability.

License: MIT

  • Objective C

Forgeries

Forgeries is a library that makes unit testing iOS applications easier. UIKit has lots of limitations that make sense in production code, but make testing difficult. Forgeries fixes that problem. Currently it includes subclasses for UIGestureRecognizers, NSUserDefaults and NSFileManager.

License: MIT

  • Objective C

Haste

Everyone has made NSTimer categories for NSTimer in Objective-C. But who has done it in Swift? Well, probably lots of people, but the point is that it is not as straightforward as you might think.

License: MIT

  • Swift

hasValue

Apple removed hasValue in Beta 6. On purpose. So I put it back.

License: MIT

  • Swift

LlamaKit

Collection of must-have functional tools. Trying to be as lightweight as possible, hopefully providing a simple foundation that more advanced systems can build on. LlamaKit is very Cocoa-focused. It is designed to work with common Cocoa paradigms, use names that are understandable to Cocoa devs, integrate with Cocoa tools like GCD, and in general strive for a low-to-modest learning curve for devs familiar with ObjC and Swift rather than Haskell and ML.

License: MIT

  • Swift

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

Use Nimble to express the expected outcomes of Swift or Objective-C expressions. Inspired by Cedar.

License: Apache-2.0

  • Swift

Nimble-Snapshots

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

License: MIT

  • Swift

NSObject+Rx

Right now, we just have a rx_disposeBag property, but we're open to PRs!

License: MIT

  • Swift

ORStackView

Vertically stack views using Auto Layout, also includes an order specific subclass that uses view tags for ordering.

License: MIT

  • Objective C

Quick

Quick is a behavior-driven development framework for Swift and Objective-C. Inspired by RSpec, Specta, and Ginkgo.

License: Apache-2.0

  • Swift

RACAlertAction

iOS 8 introduced UIAlertController, an abstraction above and replacement for UIAlertView. UIAlertController uses UIAlertAction instances to represent buttons (and actions for those buttons). But the interface doesn't lend itself to naturally fit in the ReactiveCocoa world

Instead, we need to subclass it to ensure that certain things are set at initialization time. That's what this library does.

License: MIT

  • Objective C

ReactiveCocoa

ReactiveCocoa (RAC) is a Cocoa framework built on top of ReactiveSwift. It provides APIs for using ReactiveSwift with Apple's Cocoa frameworks.

License: NOASSERTION

  • Swift

ReactiveObjC

ReactiveObjC (formally ReactiveCocoa or RAC) is an Objective-C framework inspired by Functional Reactive Programming. It provides APIs for composing and transforming streams of values.

License: NOASSERTION

  • Objective C

ReactiveSwift

ReactiveSwift is a Swift framework inspired by Functional Reactive Programming. It provides APIs for composing and transforming streams of values over time.

License: MIT

  • Swift

RxCoreMotion

This is an Rx extension that provides an easy and straight-forward way to use Apple iOS CoreMotion responses as Observables

License: MIT

  • Swift

RxNimble

This library includes functions that make testing RxSwift projects easier with Nimble.

License: MIT

  • Swift

RxOptional

RxSwift extensions for Swift optionals and "Occupiable" types.

License: MIT

  • Swift

Swift-RAC-Macros

Swift 2 struct called "RAC" replaces the RAC macro from ReactiveCocoa 2.x. A Swift function named RACObserve replaces that macro. Combined with the custom <~ operator, you can bind to dynamic properties.

License: MIT

  • Swift

UIView+BooleanAnimations

Perform changes to UI with or without animations, depending on a variable. This is really useful for performing unit tests on view controllers without a delay.

License: MIT

  • Objective C