Swiftpack.co - Package - tuist/simulator

📱 Simulator

A simctl wrapper in Swift.

code style: prettier CircleCI codecov Slack FOSSA Status

Install 🛠

Using CocoaPods

Add the following line to your Podfile and run pod install:

pod "Simulator", "~> 1.2.1"

Using Swift Package Manager

Add the following dependency to your Package.swift:

.package(url: "https://github.com/tuist/simulator.git", .upToNextMinor(from: "1.2.1")),

Using Carthage

Add the following line to your Cartfile and link the Simulator.framework from the project:

github "tuist/simulator" ~> 1.2.1

Note: Simulator is only compatible with macOS

Using Marathon

If you want to use Simulator in a Marathon script, either add it to your Marathonfile (see the Marathon repo for instructions on how to do that), or point Marathon to Simulator using the inline dependency syntax:

import Simulator // https://github.com/tuist/simulator.git

Usage 🚀


// List devices
let devices = try Device.list

// Launch simulator
try device.launch()

// Wait until the simulator is launched
try device.wait(until: { $0.isBooted })

// Install an app
let appPath = URL(fileURLWithPath: "/path/App.app")
try device.install(appPath)

// Uninstall an app
try device.uninstall("io.tuist.App")

// Erase the device content
try device.erase()

// Get device runtime
let runtime = try device.runtime()
let runtimeVersion = runtime.version


// List runtimes
let runtimes = try Runtime.list

// Get the latest runtime
let latestiOS = try Runtime.latest(platform: .iOS)

Setup for development 👩‍💻

  1. Git clone: git@github.com:tuist/simulator.git
  2. Generate Xcode project with swift package generate-xcodeproj.
  3. Open Simulator.xcodeproj.
  4. Have fun 🤖

Open source

Tuist is a proud supporter of the Software Freedom Conservacy

Become a Conservancy Supporter!


FOSSA Status


Stars: 20
Help us keep the lights on


1.2.1 - Mar 26, 2019


  • Bump Shell version to 1.2.1

1.2.0 - Mar 25, 2019


  • Device.isShutdown attributes.


  • Bump Shell version to 1.2.0

1.1.0 - Mar 24, 2019


  • Pass environment when calling simctl https://github.com/tuist/simulator/pull/15 by @pepibumur.

1.0.0 - Jan 4, 2019


  • Bump Shell version to 1.1.0 by @pepibumur.
  • Bump Shell version to 1.0.1 https://github.com/tuist/simulator/pull/13 by @pepibumur
  • Breaking Use Result instead of throws in the public interface https://github.com/tuist/simulator/pull/14 by @pepibumur.

0.5.1 - Dec 30, 2018


  • Reference to Shell in the Cartfile.