Year 1 Issue 1

Welcome to the very first issue of the The iOS Times, a weekly publication with new and trending projects in the open source iOS ecosystem, brought to you by mokacoding.com.

The iOS Times doesn’t want to replace other weekly publications like iOS Dev Weekly or iOS Goodies, but rather complement them with a deeper focus on the code and on the tools.

Never before the Open Source community in the iOS, and Mac, ecosystem has been as active and vibrant, and we feel getting exposure to new projects is a great way to find useful tools, learn something new, or even get involved in the community.

Thanks for reading, I hope you’ll enjoy.
-Gio

Trending Swift projects

EasyAnimation

Neat framework to write cleaner animation code, from this

let anim = CABasicAnimation(keyPath: "position.x")
anim.fromValue = 100.0
anim.toValue = 200.0
anim.duration = 2.0
anim.fillMode = kCAFillModeBackwards
anim.beginTime = CACurrentMediaTime() + 2.0
anim.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseOut)
anim.repeatCount = Float.infinity
anim.autoreverses = true
view.layer.addAnimation(anim, forKey: nil)

to this

UIView.animateWithDuration(2.0, delay: 2.0, 
  options: .Repeat | .Autoreverse | .CurveEaseOut, 
  animations: {
    self.view.layer.position.x += 200.0
    }, 
  completion: nil)

RubberBandEffect

Small project showing 3 different mathematical functions to achieve Apple’s rubber band effect in Swift.

RubberBandEffect Demo GIF

SwiftLint and SwiftCov

The folks at Realm bring us two tools to generate lint warnings and test coverage for Swift projects. Even if you don’t see yourself using them, it’s worth having a look as they’re written in Swift.

If you are interested in taking a more functional approach in your Swift code -and you should- then have a look at Future and Argo, which have both gained interest this week.

New Swift projects

DynamicColor

UIColor extension to get new instances by changing lightness, darkness, saturation, etc.

Nothing else particularly exciting has been released this week, but ExpandingTableView, “a framework for expanding table view cells”, and OZSwiftPlayButton, an animated play/pause button, still deserve to be mentioned.

New Objective-C projects

DownloadButton

Configurable replica of the App Store download button. One thing to notice, its IB_DESIGNABLE and IB_INSPECTABLE.

WZDraggableSwitchHeaderView

Navigate through app’s screens by dragging down the screen to reveal a secret menu.

WZDraggableSwitchHeaderView Demo GIF

This is certainly an interesting and original take at the navigation, but how nice would it look with a UI different from the example one?

Aardvark

Bug reporter library made by Square.

[..] your users can report a bug by making a two-finger long-press gesture. This gesture triggers a UIAlert asking the user what went wrong. When the user enters this information, an email bug report is generated complete with an attached app screenshot and a text file containing the last 2000 logs. Screenshots are created and stored within Aardvark and do not require camera roll access.

EditorConfig-Xcode

Xcode plugin that integrates with EditorConfig to provide a portable and configurable indentation settings

XCDLumberjackNSLogger

A CocoaLumberjack logger which sends logs to NSLogger.

Trending Objective-C projects

JSPatch

Library to call Objective-C classes from Javascript code. Kudos for the effort, but was it really necessary?

SimpleTouchID

Wrapper around TouchID APIs.

EmptyDataSet

Category on UITableView and UICollectionView to handle the empty state in an elegant way.

MMBarricade

Add a run-time local server to intercept request made by the app.

ios-flexboxkit

UIView that allows configuring it’s subviews in a flexbox way.


Thanks for reading through the first issue of The iOS Times, if you have comments, complaints, suggestions, or any other feedback please tweet us @mokacoding