10 development tools that every iOS Developer should use

Dejan Atanasov
Swift2Go
Published in
4 min readMay 25, 2017

This is my first blog post on Medium, and I would like to dedicate it to the development tools that make our lives (at least mine) easier by saving us a lot of our precious time.

The most important thing for me when working on a project is to be super productive, and in order to achieve that I have to find and use tools that will help me dedicate more time and focus on the actual app functionalities and its complexity.

Going straight to the point, here are the tools that I use on daily basis:

  1. JSON Accelerator - The better way to deal with JSON data in Objective C. It becomes painful when dealing with JSON and creating the respective model. JSON Accelerator will create the models automatically while following S.O.L.I.D principles. For me personally, this is the tool that I can't work without. It generates the wanted files for the provided JSON data in less than a second, instead of losing hours to create them manually. Unfortunately, it supports only Objective-C so for Swift, I am using SwiftyJSONAccelerator which does the same job.
  2. Prepo - Prepare, share and preview App artwork and icons. Drag and drop artwork for quick @3x and @2x to @1x conversion and preview Icon artwork in context. Prepo stores all your artwork into a project window ready for batch export or use QuickDrop for super fast @3x and @2x resizing. Have you ever received assets from a designer/client with only one size and with incorrect naming? Well, it can happen quite often, and they will leave you to handle the rest… This tool can help you get around this situation, as it will convert all the assets to the required sizes and also name them correctly for you. It can also convert your App Icon in all the needed sizes.
  3. CocoaControls - is an amazing site where you can find more than 5000 Swift and Objective-C open source GitHub libraries. So next time, instead of googling around for some UI components that you need for your app, just visit the site and you will find whatever you are after.
  4. Postman - is a Google Chrome app for interacting with HTTP APIs. It presents you with a friendly GUI for constructing requests and reading responses. My practice is to build and test the APIs before implementing them in my project. It has more than 3 million users.
  5. CocoaPods - is a dependency manager for Swift and Objective-C Cocoa projects. It has over 32 thousand libraries and is used in over 2.1 million apps. CocoaPods can help you scale your projects elegantly. Another tool that I must include in every project I work on… Instead of keeping your external libraries all around the project and having various issues after adding them, you can solve everything in an elegant way by using CocoaPods and keep everything in one place with only a few Terminal command lines.
  6. JSON Formatter - have you ever received a JSON response without a format and you can barely understand its structure? That is why I have started using this Google Chrome extension, and I don't have visual problems with my JSON responses in the browser anymore. I would advise you to do the same, and I guarantee you will enjoy the automatically formatted response.
  7. Sympli - Design handoff and implementation for teams that work with Photoshop, Sketch, Android Studio, and Xcode. I have to say this is quite an interesting concept for a plugin that will speed up your UI implementation. Here is how it works… You create a project and a designer adds his files from the web version, then you go to your Xcode project and install the plugin and with a single press of a button, it will replicate the screen in your UIViewController and also create the needed outlets for the components. Don't have much experience with this plugin, but I encourage you to try it and share your impressions.

I will also share some tools that aren't directly used in development, but are also an important part:

  1. SearchMan - if you have your own app on the AppStore and want to track your keywords ranking and visibility of your app, you can use this free ASO tool that will give you insights about where your app stands.
  2. Diawi - is a tool for developers to deploy Development and In-house applications directly to the devices. If you are not a fan of Testflight and hate all the procedure in setting it up, or you have a project to show to someone fast this is the platform for you!
  3. SourceTree - simplifies how you interact with your Git and Mercurial repositories so you can focus on coding. Visualize and manage your repositories through SourceTree's simple interface. I highly recommend the usage of SourceTree for versioning control, as it is outstanding and much better than working from Terminal!

I am going to finish the list here, so please share your thoughts and also suggestions if you know some better tool that saved you a lot of time in development. If you have any questions regarding the above-mentioned tools, I am here to help.

That’s it from my first blog on Medium, hope you liked it and that it helped you in boosting your productivity.

--

--

Dejan Atanasov
Swift2Go

Senior iOS & Android Developer | Creator of Swift2Go | @hackernoon writer | Hire Me: http://bit.ly/2XfxbBR