|29,827||lines of code|
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.
ReactiveSwift is a Swift framework inspired by Functional Reactive Programming. It provides APIs for composing and transforming streams of values over time.
Use Nimble to express the expected outcomes of Swift or Objective-C expressions. Inspired by Cedar.
Quick is a behavior-driven development framework for Swift and Objective-C. Inspired by RSpec, Specta, and Ginkgo.
ReactiveCocoa (RAC) is a Cocoa framework built on top of ReactiveSwift. It provides APIs for using ReactiveSwift with Apple's Cocoa frameworks.
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.
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.
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.
Nimble matchers for FBSnapshotTestCase. Highly derivative of Expecta Matchers for FBSnapshotTestCase.
RxSwift extensions for Swift optionals and "Occupiable" types.
Right now, we just have a
rx_disposeBag property, but we're open to PRs!
Use ios-snapshot-test-case's FBSnapshotTest with Expecta matchers for readability.
This library includes functions that make testing RxSwift projects easier with Nimble.
Vertically stack views using Auto Layout, also includes an order specific subclass that uses view tags for ordering.
ARCollectionViewMasonryLayout is a UICollectionViewLayout subclass for creating masonry / pintrest / flow-like layouts with dynamic widths or heights. Supports sticky headers too.
Swift µframework of the ubiquitous Box & MutableBox reference types, for recursive value types & misc. other purposes.
Downloads JPEG images asynchronously and decompresses them on a background thread.
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.
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.
This is an Rx extension that provides an easy and straight-forward way to use Apple iOS CoreMotion responses as Observables
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.
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
Apple removed hasValue in Beta 6. On purpose. So I put it back.
iOS 8 introduced
UIAlertController, an abstraction above and replacement
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.