iOS Dev Tools

The greatest iOS development tools, including websites, desktop and mobile apps, and back-end services.
Updated daily by Adam Swinden.

If you have any suggestions for tools that you would like to see added to the list, please let me know by email, Twitter or Facebook.

Affiliate

Backup your computer before you wish you had. Online backup for people who want a no fuss way to keep their data safe.

Get it Now!

Sponsor iOS Dev Tools.

Networking and APIs

Scale

An API for human labour. Scale aims to solve the problem of software struggling with complex tasks by using actual human beings. They provide an API that lets you create tasks that will be completed accurately by one of their 'Scalers'. Current tasks include content moderation, phone surveys, transcription, e-commerce tagging, de-duplication and image annotation. Responses are typically returned within 5 minutes with a JSON payload to a callback URL you specify, and prices start at around $0.10 per request.

Surge

An advanced web debugging proxy app for Mac. Surge is capable of intercepting and logging the summary of all HTTP, HTTPS, SOCKS5, SOCK5 over TLS traffic. You can monitor all recent network requests, adjust proxy rules, and manipulate Local DNS Mapping. You can also decrypt HTTPS traffic using an MitM certificate. There's also a clever iOS version that can capture all HTTP/HTTPS/TCP traffic from any app on your device, and redirect to an HTTP/HTTPS/SOCKS5/SOCKS5 TLS proxy server following highly configurable rules.

ServeUp

A Mac app that lets you easily serve up mock JSON, XML, or text responses to make development easier. ServeUp removes the reliance on third party services when developing and testing networking code by allowing you to quickly create custom mock REST API responses and serve content over HTTP or HTTPS. You can set up sophisticated pattern matching using any part of the URL, headers, cookies, form variables, and more, and provide custom responses for each match. You can also provide global overrides for delays and status code responses.

Heartbeat

An online service that transforms your REST endpoints into streaming APIs without having to write any code. Heartbeat runs a worker process that will poll your REST API at the polling frequency you specify in the dashboard and show the changes via an elegant realtime endpoint, and can store updates for up to six hours. It's free to use while in beta with up to five REST endpoints per user and a minimum polling frequency of 1 minute.

Pushkin

An open source tool for sending push notifications to Android and iOS. Pushkin has two modes of operation: Push Notification mode can issue a direct notification for the supplied user and message. Pushkin will find the device ID for the user and send the message. Event mode can send notifications based on an event - something happening to a certain user. Pushkin will decide whether it should send a notification based on the event, construct a localised message, find the device ID for the user and send the notification. It is also easily scalable, because you can run as many instances as you need with each instance capable of pushing 500 messages per second.

Kwilt

A free, cross platform API and SDK that gives you access to 15 of the most popular photo sources in one. Kwilt integrates with the most popular social media and cloud storage sources such as Facebook, Instagram, Twitter, Google Photos, Amazon CloudDrive, Microsoft OneDrive, and more, so you don't have to maintain API connectivity with ever changing sources. Kwilt is ideal for any app that needs to give users access to their photos such as photo editing and sharing apps, messaging and communications apps, photo printing apps and loads more.

StopLight

A service that provides you with a new way to document, test, and build web APIs. StopLight automatically maps an API, and then provides tooling and services that let you mock, document, and test your API. The visual editor aims to cut down on design time, and is spec agnostic. It can generate OAI (Swagger) and RAML specification code on demand, ready to be shared or published to any API hosting platform. It also includes an HTTP request maker to send real requests to your API, and the Prism API Proxy to mock, validate, and transform requests for testing.

Cloud Vision

A powerful image analysis API from Google. Cloud Vision uses complex machine learning models to understand the content of any image. It can quickly classify images into thousands of categories (including explicit content detection) and individually detect thousands of different objects such as flowers, animals, transportation and faces. If it finds faces in an image, it can analyse emotional facial attributes to provide sentiment analysis of emotions such as joy, sorrow and anger, and text is automatically detected and extracted with automatic language identification.

netfox

A lightweight, easy to set up, network debugging library that provides a log of all executed network requests performed by your app. netfox will keep track of all requests, including yours, requests from 3rd party libraries, UIWebViews, and more. At any time while your app is running, just shake your device and a list detailing all the requests is presented including URL, time, and content type. You can tap on any request to view full request and response details including headers and body. You can also search and filter to help you find the right request and share the log for debugging.

ResponseDetective

A simple to use Swift framework for intercepting and logging any outgoing requests and incoming responses between your app and your server for debugging purposes. ResponseDetective is easy to set up, you just have to register your desired interceptors (including headers, HTML, images, JSON, plain text and XML) and add your interceptor protocol to your NSURLSessionConfiguration. Once configured, any request you make will output all the details to the console. Simple but really useful to debug issues with network responses.

CloudSight

An image recognition API that seems to be able to magically recognise the items in any image with a surprising degree of accuracy. CloudSight is a simple web API. You can send an HTTP request with your image and it'll start analysing the image to find recognisable objects in a way similar to Google Goggles. When the processing is complete you'll be able to request a description of the image's contents. Plans are quite expensive but if you have an app that could make use of image recognition CloudSight is worth taking a look at.

Jibber

A network debugging tool that doesn't require any complicated proxy settings. Jibber uses a drop-in framework that automatically connects with your Mac using Bonjour. You’ll be able to view both request and response parameters on your Mac in real time with syntax highlighting for JSON responses as well. The framework interfaces with the NSURLSession APIs directly so any frameworks built on top of that would automatically integrate, and support for NSURLConnection is coming soon. It even works on both the Simulator and devices even when not connected via cable to your Mac.

Proxy

An HTTP intercepting proxy app for OS X. Proxy can be used to intercept HTTP requests and responses and modify their contents in transit. Features include automatic content length calculations, syntax highlighting, breakpoints, filters, capture groups and more. It can also perform active attacks against applications served over SSL, and therefore intercept encrypted communication. There is also support for the Keychain, CA and X.509 certificate generation and more.

Cellist

A HTTP debugging proxy app for OS X. Cellist puts a proxy between your HTTP clients and the Internet so once you have set the proxy configuration on your device properly, all HTTP traffic will be displayed in Cellist. Cellist records all HTTP traffic from any Mac, Windows PC, Linux, iOS devices or Android phones, and chooses the proper viewers to make it intuitive to inspect body data. It can also use man-in-the-middle interception to reveal HTTPS traffic.

kimono

A service that helps you turn any website into a structured API. kimono recognises patterns in pages so you just select the elements of the website that make up your data and kimono will create a JSON, CSV or RSS feed. Obviously you need to make sure you have the right to use the data on a website, but if you do, this is a great service to easily create a simple API for use in an app from your existing website. There are also tools that let you turn your API into a responsive web app without any code.

HaTTiP

Another HTTP client for Mac that provides many of the same features as other clients such as custom headers and URL parameters. However, HaTTiP also supports execution of a pre-processing script that can dynamically modify the outgoing request. The developers have provided some examples on GitHub for Base64 encoding/decoding and BasicAuth. HaTTiP is also document based so you can save requests as files to be reused later.

Postman

A free HTTP client available on the Chrome Web Store. Postman lets you build simple and complex HTTP requests quickly, including custom query paramters, headers and several authentication methods (Basic Auth, Digest Auth and OAuth 1). Every request is logged in history, or you can save requests in Collections to be loaded later or shared. You can also set up environment variables to help with switching between local, staging and production servers.

Paw

A fully featured HTTP and REST API tester for OS X. Paw helps you create custom HTTP requests with dynamic values and smart completion which you can organise by host, method or reponse code. It can also generate code from the requests you make in a number of languages, including Objective-C for NSURLConnection or AFNetworking.

HTTPea

A simple iOS HTTP client that lets you send GET, PUT, POST, HEAD, and DELETE requests with custom headers and parameters. HTTPea will also parse the server's response and display it the most useful format so you can drill down into a JSON document, view an image, display a web page, or just view the raw response.

HTTP Scoop

A HTTP sniffer for Mac that passively listens for HTTP requests from any app running on your Mac. You can view request or response data as text or in a hex dump, view images from within the app and save responses to disk. With the Headers view, you can see cookie exchanges and analyse cache behaviour. There's no proxy configuration needed, just hit the Scoop button and off you go!

JSON Accelerator

A free Mac app that validates JSON from a file or URL and creates Objective-C, Java or Python Django model classes from the output. The Objective-C classes it generates are all NSCoding compliant and it can even create Core Data models. You can add custom HTTP headers using GET or POST to fetch JSON from any API which makes it a great tool for quickly developing apps with new APIs.

ProgrammableWeb

One of the best websites for web APIs. It has a massive searchable directory of APIs sorted by category and popularity. Each API is listed with details including protocols, formats and links to documentation. In addition to the directory, the site also covers API news, how-to guides and a directory of some of the best mashups using the APIs listed on the site. ProgrammableWeb is the best place to start to get inspiration for your next API based app.

Charles

A web debugging proxy application for Mac, Windows and Linux. Enables you to view all HTTP(S) traffic between your machine and the internet including requests, responses and HTTP headers. Can be used with iOS apps in a few different ways by either using the simulator, connecting your iPhone to your machine's shared internet connection or following these steps. Really useful for debugging networking problems or having a sneaky peak at what network requests your favourite apps are making.

Visual JSON

A simple and free Mac App that visualises JSON from a JSON API. Visual JSON allows you to make a custom request to any JSON API with options for request type, parameters and body content, and it will visualise the JSON response as an easy to read collapsable list. A very useful tool for debugging any JSON API.

Runscope

A useful API proxy service for debugging your API calls. You just have to swap your API URLs in your code with a Runscope one and all traffic will be available for you to inspect online. You can also create API requests, save them and run them through later.

Fetcher

A Mac HTTP Client that supports every HTTP Request method with custom parameters, custom body and custom headers. Useful for testing APIs and feeds you use in your app.