Year 2 Issue 2

Hello all! At this time we should all be back to work after the holidays and ready to rock. This week’s issue offers you plenty of inspiration to kickstart your 2016 in the best possible way.

I’d like to remind you that you can help shape The iOS Times to be more useful and valuable for you by taking this survey. It won’t take you more than two minutes, and I’ll be very grateful 🙏

Now let’s get started with this week’s newest and most interesting projects 🚀

Delta

Delta helps you centralise your state storage and management, and provides an easy way to subscribe to its changes. Like other libraries that we’ve seen in the past weeks Delta is inspired by Flux and Redux.

Delta has been developed by the guys at thoughtbot, who have a history for crafting great open source libraries. There is also an example app using Delta, so that you can see it in action.

Refactorator

It is quite disappointing that Xcode still doesn’t provide any decent refactoring tool for Swift code. This Xcode plugin tries to help us by providing an advanced renaming feature, all across the project. I don’t know about you, but I end up renaming classes and other types many times during the lifecycle of a projects, so I’m very grateful to John Holdsworth for sharing this with the community.

Sugar

Sugar is “something sweet that goes great with your Cocoa”, a collection of useful utilities to sweeten your Swift writing and reading experience. For example:

let appName = Application.name             // CFBundleDisplayName : String
let appVersion = Application.version       // CFBundleShortVersionString : String

if !Simulator.isRunning {
  // add device specific operations here
}

if UITesting.isRunning {
  // tests are running
} else {
  // everything is fine, move along
}

All these extensions are definitely handy, but I’d suggest importing the framework only if you are sure you need a number of them. It might not be the best idea to import many lines of code and functionalities only to use one of those in a handful of places in the codebase.

Every.swift

A simple Swift wrapper for NSTimer:

self.every(3.seconds) {
    print("hello")

    // return `true`to continue, `false` to exit
    return true
}

The library has a list of TODOs, why don’t you check it out and see if you can help? 👍

STLoadingGroup

After all those snippets of code here’s some eye candies. STLoadingGroup is a collection of nice simple loading animations you can drop in your UIs.

STLoadingGroup Demo

Periscope-VideoViewController

A view controller for videos with a fast rewind control like Periscope. You can see an animated demo here.

DOMContentLoadedDelegate

By conforming to DOMContentLoadedDelegate and implementing the DOMContentLoaded: method you will be able to access DOM elements without having to wait for all the resources to be loaded.

Chirp

This AVFoundation wrapper will make preparing, playing and removing sounds a one liner task.

Chirp.sharedManager.prepareSound("ding.mp3")
Chirp.sharedManager.playSound("ding.mp3") 
Chirp.sharedManager.removeSound("ding.mp3")

KMNavigationBarTransition

Drop-in library that will make transition between different styles of navigation bar smoother, without having to write any extra code!

KMNavigationBarTransition Demo

ElasticTransition

Modal transition that simulates an elastic drag, with fine grained configuration.

ElasticTransition Demo

MVVMReactiveCocoa

Open source GitBucket client app built with ReactiveCocoa and MVVM, and a lot of other useful and interesting libraries. It’s all Objective-C but you shouldn’t discriminate and forget where we came from.

Other Interesting Projects