iOS Dev Tools

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

Subscribe

A weekly update delivered right to your inbox. Sent once a week. No spam, not ever. Unsubscribe at any time.

Command Line
screenshot of Beak

Beak

A tool that gives you a command line interface to your Swift scripts. Beak can take a standard Swift file and then list and run any public global functions in it via a command line interface. It analyses your Swift file via SourceKit and finds all public and global functions, turning each into a runnable command while converting parameter names into command line flags. You can also use Beak to generate an Xcode project with all dependencies linked so you can edit your Swift file with full code completion. […]

Read More

Command Line
screenshot of Mint

Mint

A package manager that installs and runs Swift command line tools. Mint makes installing, running and distributing these tools much easier. It installs your tools via Swift Package Manager and globally installs and caches builds by version on demand. You can easily run the latest version or a specific version of a tool, or even use different versions of a tool side by side. Due to its use of Swift Package Manger for building tools, any tool that currently supports SPM automatically supports installing and running with Mint. […]

Read More

Command Line
screenshot of Struct

Struct

A command line tool that automates the creation and management of Xcode projects. Struct turns your Xcode project into a build artefact by letting you quickly and continuously regenerate it from a YAML or JSON spec file. You can create your first spec file by migrating an existing Xcode project ready to be customised and regenerated. Struct makes it easy to have multiple variants of a project with the ability to add additional source files and resources. Great for whitelabelling and multiple distribution channels. […]

Read More

Command Line
screenshot of Test Drive

Test Drive

A Swift based command line tool that lets you quickly try out any Swift pod or framework in a playground. Test Drive is ideal for testing a pod or framework without having to modify your project. You can also try out multiple pods and frameworks at once. You just have to run a single command with the name of a pod, or the URL to a Git repository, and Test Drive will create a playground for you. There are also options to choose a specific pod version, git branch, or platform. […]

Read More

Command Line
screenshot of IBAnalyzer

IBAnalyzer

A command line tool that helps find common xib and storyboard-related problems in your Xcode projects without running your app or writing unit tests. IBAnalyzer starts by parsing all .xib, .storyboard and .swift files in a folder and then uses this data to generate warnings. It can find unimplemented outlets and actions in classes, as well as @IBOutlets and @IBActions defined in code but not connected to from nibs. IBAnalyzer is open source and extensible so you can create new warnings by creating new types that conform to the Analyzer protocol. […]

Read More

Command Line
screenshot of Eject

Eject

A command line tool for converting Interface Builder files into Swift layout code. Eject aims to help when Interface Builder reaches its limits and starts getting in the way, by providing an easy path to transition to full programatic view layout. It looks through xib files and generates code based on the views and layout constraints it finds, using user labels for variable names. The output should be good quality Swift code ready to be pasted into the loadView method. You can also use Eject for free on the web as it is hosted as a Vapor application. […]

Read More

Command Line
screenshot of needless

needless

A simple command line tool that can help you write better, more concise Swift APIs by removing needless words from function names. needless can process text from STDIN or files specified in a list of paths and will attempt to apply the Swift API Design Guidelines by printing out function names with needless words such as repeated type information and will even suggest an alternative. You can also add it as an Xcode build phase that will generate warnings to highlight wordy functions in the source files. […]

Read More

Command Line
screenshot of pxctest

pxctest

A command line tool that lets you execute tests in parallel on multiple iOS simulators. pxctest is simple to install using Homebrew, and once you’ve compiled your project for testing, you can run a single command to execute your tests on as many simulators as you need, including different devices and iOS versions. There are a number of different options to customise how your tests are run, and you can even provide a file that is copied to the simulator’s Preferences plist to change the state of the simulator settings. […]

Read More

Command Line
screenshot of json2swift

json2swift

A macOS command line tool that generates Swift data model code based on JSON data. json2swift generates immutable Swift struct definitions along with thread-safe initialisers to create structs from JSON data. It performs sophisticated type inference to detect data types such as URLs and dates. For example, if you add a date format hint to your JSON, it will correctly add string to date parsing. It also aims to provide the correct optionality, making properties non-optional unless ‘null’ is found in the JSON. […]

Read More

Command Line
screenshot of xcute

xcute

A simple Python command line tool for understanding Xcode project structures and configurations. xcute will inspect an Xcode project file and print a table detailing each of the Xcode schemes including SDK and configuration. You can also provide flags to get details about any build setting across all your schemes, which could be useful for quickly checking provisioning settings, for example. It can also export CI config files using a built-in template for Travis or any other custom template you create. […]

Read More