Great Friday mood, friends!
Today we have prepared for you a useful translation of the post of the founder of Ecler Studios Paweł Białecki, in which he offers our attention 33 open source projects for iOS developers.
Using his GitHub account, he discovered many promising tools and selected, in his opinion, the best of them for his readers.


Created by Instagram developers, IGListKit is a data-driven framework for UICollectionView, with which you can quickly create flexible lists. It also helps to do without MassiveViewControllers in the application. Check out the
tutorial from Ray Wenderlich , which explains how to embed this library in a project, or read the
article by Rodrigo Cavalcante about transferring existing UITableView to IGListCollectionView.
')
Realm is a mobile database that works right inside phones, tablets and wearable devices, and not only on iOS. If you want to try something significantly different from CoreData, give preference to Realm. Many consider it a modern, ready-to-launch alternative to Apple’s native solution.

Moya is the missing network layer for your application. You no longer have to think where (and how) to place network requests, Moya will take care of this.

King of JSON parsing on Swift.
Convert it to:
if let statusesArray = try? JSONSerialization.jsonObject(with: data, options: .allowFragments) as? [[String: Any]], let user = statusesArray[0]["user"] as? [String: Any], let username = user["name"] as? String { // Finally we got the username }
here it is:
let json = JSON(data: dataFromNetworking) if let userName = json[0]["user"]["name"].string { // Now you got your value }
Wrapping, if necessary, is done automatically.
Valet provides secure storage of data in iOS or OS X Keychain, even if you have no idea how Keychain works. It allows you to transfer data between multiple applications (from the same developer) on the same device, as well as transfer data within the same application to multiple devices using iCloud. Touch ID support? Easy!

This solution, developed (well, or purchased) by Google, perhaps, can be called the best analytical tool for iOS. Track how the application is used, how involved users are, what events are taking place; set custom characteristics, create customized audiences, and more.
The Facebook team created this UI SDK for its Paper application. If you want your application to always render at a speed of 60 frames per minute, be sure to pay attention to this library.
Here you can read about the experience of the Buffer team.

The user installs your application and sees an empty UITableView. DZNEmptyDataSet helps to avoid this problem by offering a default pattern for the case
when the data in the table is missing .

Chameleon is a compact but powerful framework for working with color on iOS. It is based on the idea that applications should work with ease and at the same time maintain a pleasing interface.
With Chameleon, you won’t have to mess around with RGB values, spend hours choosing the best combination of colors for the application and worry about whether the text will read well in different background colors.



PermissionScope - a framework for Swift, which allows you to intelligently request permission from users. It contains not only a simple UI for sending requests, but also an API for permissions, which can tell you the status of any system permission or easily request it.


FileKit is a framework for Swift that provides a simple and expressive file management system.
See examples of how it is used.
SwiftyUserDefaults makes user defaults pleasant to use, combining Swiftly's expressive APIs with the advantages of static typing. Identify all keys in one place, easily use value types, and in addition receive additional security and verification at the compilation stage for free.

Kingfisher is a compact library for asynchronous downloading and caching images from the Web, especially for Swift.

Hero is a library for building transitions between ViewControllers on iOS. It complements the inconvenient API for transitions from UIKit and simplifies the process of setting up transitions.

Hedwig is a Swift package that provides a set of high-level APIs that make it easy to send emails to an SMTP server. If you are planning to send messages from your future mind-blowing client-server application, perhaps Hedwig is just what you need.
DeviceKit is a replacement of value types for UIDevice. No problem get information about the state of the device and the level of charging.

A library of beautiful diagrams of various types: columnar, circular, point, three-dimensional, radial, and so on.
An easy-to-use subclass of UITableViewCell that allows you to display slider buttons with different types of transitions.




Simple and clear random data generator.

ResponseDetective - a framework that minimally interferes with the process, intercepts all outgoing requests and incoming responses between the application and the server for debugging.



Easily create beautiful and exciting presentations with just a few lines of code.

Quick is a framework for testing BDD on Swift and Objective-C. Attached is the Nimble framework, which expands the possibilities of data comparison.
Natalie generates Swift code based on storyboards, making it easier to work with Storyboard and Segue. The generated files reduce the use of strings as identifiers for Storyboard and Segue.

Interested in reactive programming in Swift? RxSwift at your service.




GDPerformanceView shows FPS, CPU utilization percentage, application version and iOS over status bar and provides reports on FPS and CPU utilization through the delegate.

Alamofire is a web-based HTTP library written in Swift.

SwiftyStoreKit is a small framework for working with in-app purchases on iOS (version 8.0 and higher), TvOS (version 9.0 and higher) and macOS (version 10.10 and higher).
Intuitive work with data on Swift.
Functions and helpers for Swift related to cryptography implemented on Swift.

A library of custom calendars for iOS, compatible with Objective-C and Swift.


The solution for viewing pictures in the style of Twitter.

PromiseKit is a thoughtful and complete implementation of promises on any platform using swiftc. It is perfectly adapted for use in ObjectiveC and offers excellent specialization for iOS, TvOs, macOS and watchOS.

Ensembles is a framework for Objective-C with Swift support, which extends Apple's CoreData framework by adding peer-to-peer sync for macOS and iOS. Numerous SQLite persistent storage can be linked via any file synchronization platform, such as iCloud or Dropbox. The framework can be expanded as needed to support any service that has the ability to move files between devices, including a custom server.