Year 1 Issue 5

A warm welcome to issue number 5 of The iOS Times, a weekly publication that collects the most interesting Objective-C and Swift projects that have been released or that have been trendy in the past seven days.

This issue introduces a new format. Why should we categorize entries based on their language, or base on their trendiness or release date? A software project is either interesting or not, and so from now on all the entries in The iOS Times will be under the same group.


Language: Swift

GaugeKit is a library that makes easy to develop gauges, and is incredibly configurable, so that reproducing gauges like the ones in the Apple Watch Activity app is very easy.

One remarkable feature of this project is that implements IBDesignable and IBInspectable, so that all the configurations can be made in Interface Builder.

Gauge Kit - anitated screenshot


Language: Swift

Haneke is a lightweight generic cache for iOS written in Swift 1.2. It’s designed to be super-simple to use.

Here’s how you would initalize a JSON cache and fetch objects from a url:

let cache = Cache<JSON>(name: "github")
let URL = NSURL(string: "")!

cache.fetch(URL: URL).onSuccess { JSON in

Particularly, Haneke excels at working with images. It includes a zero-config image cache with automatic resizing. Everything is done in background, allowing for fast, responsive scrolling.

The Swift 2.0 Programming Language Playground

Language: Swift

This is a collection of Playgrounds, one for each chapter of The Swift 2.0 Programming Language book by Apple. This is as far as I understand looking at the project, as it is all in Chinese.


Language: Swift

A library for integrating feedback module elegantly.

Butterfly - Animated screenshot


Language: Objective-C

A category on UITableView that will take care of providing the height of a cell with dynamic content using Auto Layout.

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
  return [tableView fd_heightForCellWithIdentifier:@"reuse identifer" configuration:^(id cell) {
    // Configure this cell with data, same as what you've done in "-tableView:cellForRowAtIndexPath:"
    // Like:
    //    cell.entity = self.feedEntities[indexPath.row];


A μframework of extensions for SequenceType in Swift 2.0, inspired by Python’s itertools, Haskell’s standard library, and other things. It adds a number of useful methods to sequences, here’s two examples:

[1, 2, 3, 2, 2, 4, 1, 2, 5, 6].uniques()

// [1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5].chunk(2)

// [[1, 2], [3, 4], [5]]


A view to build Tinder like swipable cards. It is fully configurable, and has a closure based API to react to swiping events

ZLSwipeableViewSwift - Animated screenshot

A similar project that got some attention this week is Koloda.


Language: Objective-C

This is a UINavigationController category that adds some convenient features such as changing the bar background alpha and size, block based push and pop, and interactive pop gesture recognizer.

Other interesting projects

Thanks for reading The iOS Times, if you have comments, complaints, suggestions, or any other feedback please tweet us @mokacoding.