My Best 3rd Party iOS Libraries of 2018

Photo by Artem Sapegin on Unsplash

Over the past few months I took up the challenge to put my theoretical ios skills into practice. We have an app that exists on the Android platform alone and we needed to create an iOS app so that we could cater for customers using iOS devices.

As usual, when building apps, it makes sense to use 3rd party libraries that have been built, tried and tested by other developers. Github is my goto place for discovering awesome open source libraries for the iOS.

Don’t reinvent the wheel, just realign it. — Anthony J. D’Angelo

Because I did not want to reinvent the wheel, I decided to make use of some 3rd party libraries. This reduced my development time and probably saved me some debugging days (yes, days 😅) compared to if I had decided to write some of these libraries myself. Here are some of the libraries that helped me to build the iOS app:

Alamofire

Most mobile apps communicate with a backend service, ours is no different. I found Alamofire to be an easy-to-use Swift networking library. It feels like the Retrofit of the iOS development ecosystem. I was also able to quickly add plugin features to the library as other developers had built cool libraries that interfaced with Alamofire. Some examples include: AlamofireLogger & AlamofireJsonToObjects.

Charts

Android developers are familiar with MPAndroidChart. This library is the Swift equivalent for iOS/tvOS/OS X platforms. It is easy to create beautiful charts/graphs using this library.

I also liked that the sample projects for each type of chart was easy to understand and customise.

Firebase Libraries

Firebase comes with a lot of libraries that can be used to build your apps. I mostly used the Performance Library, Crashlytics and Firebase Messaging. The performance library helps track the quality of the network calls and screen rendering. Crashlytics helps with identifying issues (fatal and non-fatal errors) on your app. It has a beautiful dashboard that shows relevant info that can help fix the developer to resolve the issue. Firebase Messaging was used to handle push notifications in our app.

IQKeyboardManager

Coming from the Android world. I didn’t really think that I’d be bothered about the software keyboard and so I was quite surprised that simple gestures weren’t available on the iOS default keyboard.

Libraries like these make me happy.

With IQKeyboardManger, I didn’t have to write the code to dismiss the keyboard when I am done editing on the TextField, write the code to move to the next field in a form or write extra code to ensure that the virtual keyboard doesn’t cover a field when it is displayed. The best part was that I didn’t have to type much code for this to work. I just added the library and a line of code and all these started working.

SwiftValidator

Input validation is important whenever there’s an open-ended field like a TextField in your apps. I used SwiftValidator because it was easy to set up and use. There were 20 predefined rules when I started using the library. Rules are used to ensure that a text from the TextField is only considered valid if the validation rule is obeyed.

CocoaPods

Nope, this is not a library. It’s a dependency manager for Swift. I had to sneak it in because it’s important too 😉. It’s like the gradle of Android world. It helped me to simplify adding these 3rd party libraries. If I didn’t use this dependency manager, I’d have needed to add the dependencies (frameworks) as embedded binaries in my project, It’s not a straightforward process compared to when using CocoaPods.

Thanks for reading and please let me know about other open source libraries that can simplify iOS development. Cheers 👋🏻.

Software developer. Learning everyday.

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Ben Daniel A.

Ben Daniel A.

Software developer. Learning everyday.

More from Medium

Link to App Store specific app from iOS app by URL scheme

Re-thinking iOS Coordinators to Build Scalable Apps

How to send SMS Messages with Swift and Vapor using Async/Await

Swift: Logger Simplified