Year 1 Issue 30

Hello all! I hope you spent a wonderful Christmas, and that you are getting some well deserved rest.

This is going to be the last issue of 2015, and I would like to say you all thank you.

thank you gif

This first year of The iOS Times has been great, both for this newsletter, and the iOS open source community in general. I can’t wait to see what 2016 has in store for us 🎁.

And now let’s get started with this week’s most interesting projects.


This library wraps the NSUserDefaults adding APIs that allow you to consume it in a statically-typed way, and with subscript access as a bonus.

extension DefaultsKeys {
    static let username = DefaultsKey<String?>("username")
    static let launchCount = DefaultsKey<Int>("launchCount")

Defaults[.username] = "joe"
Defaults[.launchCount] // => 42


Then is a interesting concept to simplify the init code of Swift’s computed properties. Go from this:

let label: UILabel = {
    let label = UILabel()
    label.textAlignment = .Center
    label.textColor = .blackColor()
    label.text = "Hello, World!"
    return label

To this:

let label = UILabel().then {
    $0.textAlignment = .Center
    $0.textColor = .blackColor()
    $0.text = "Hello, World!"


Alcatraz it a CLI program to interact with Alcatraz, the Xcode package manager. Not only this tool will allow you to script your Xcode plugin setup, but is also an example of CLI written in Swift. Go have a look 🚀


This library provides a Model-View-Presenter framework implementation. Going outside our comfort zone and trying other design patterns other than the Apple’s flavoured Model-View-Controller is a great way to grow as developers, and I highly recommend looking into MVP and then trying out the implementation provided by BothamUI.


ReduxKit is a Swift implementation of the Javascript Redux library, which promises to help you write applications that behave consistently, and are easy to test.

A lot of developer across different programming languages and platforms are preaching the benefits of Redux, it is another development methodology that is worth exploring.


I have linked open source apps many times in this newsletter. I am a big fan of looking into other people code and at the way they would architect things. As such I could not be more excited about this repo containing such a vast list of open source iOS apps.


Hodor is a simple solution that allows you to change the application language without having to restart it. “Just like WeChat”.

It also gets extra points for the well chosen name 😁

The iOS Advent Calendar 🎅 - Days 21 to 24

  1. AnimatedGIFImageSerialization, a little UIImage category to enable animated GIFs rendering.
  2. Result, simple, easy to use, and powerful type to model any kind of operation that can succeed or fail.
  3. Little UI Gems, a collection of UI libraries to delight your users.
  4. Wrap Up, in this final post of the 2015 iOS Advent Calendar we look back at the libraries seen in the series, and reflect on the pros and cons of using third parties frameworks.

In case you weren’t subscribed to the daily email list for The iOS Advent Calendar let me refresh my thank you for the support and positive feedbacks received during this journey.

Other Interesting Projects

See you all in 2016! 🎉