Dependencies Injection
One place to “inject” all the services that your app use.
500+ Extensions
SwifterSwift is a collection of many extensions, making Swift even swifter. Before I write my own extension, I will check out what others might have already written.
Attributed String
NSAttributedString
is not that friendly. Checkout for a better world with SwiftRichString.
JSON Decoder
- ObjectMapper - Using
<-
operator. Very popular, with Alamofire extension - Unbox
- Decodable
Date Time
- DateTools: Date time utility, and moments such as “4 seconds ago”
- YLMoment (my fork) - easy format, and moments based on moments.js
But above 2 not complete enough. SO suggested others:
- FormatterKit by matt (popular): Not only for formatting dates, but also addresses and location
- NSDate+NVTimeAgo: Facebook style
Logging
Encryption
- Lockbox: save to keychain easily
- Heimdall: He is the gatekeeper at the rainbow road (in Thor). Simple encrypt, decrypt and signing of text.
- KeychainSwiftAPI
Core Data
- Sync sync JSON into Core Data
- CoreStore in Swift 2, very well documented, and seems complete, and even have a different/better stack design than MagicalRecord. But they have “transactions” instead of predicates.
Autolayout
- Masonry: High level approach, but deprecated for Objc. The new swift version is known as SnapKit.
- PureLayout: Provide handy APIs to UIView
- Cartography: Declarative style
Unit Testing
- OHHTTPStubs - stub for networking frameworks
Avoid String Identifiers
- Reusable - Avoid cells, xib views, storyboard view controller’s string identifier with this convenient mixin
- SwiftGen - Avoid more strings (eg. localization, assets) by generating code (like Android’s R)
- R.swift - An actual R for Swift
Parsers
- Kanna - Parse XML/HTML, inspired by Nokogiri
Deeplinks
- Appz - provides (as much) external apps deeplink schema as opening them is a breeze