Swiftpack.co - Package -

📱 Simulator

A simctl wrapper in Swift.

code style: prettier CircleCI codecov

Install 🛠

Using CocoaPods

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

pod "Simulator", "~> 2.0.1"

Using Swift Package Manager

Add the following dependency to your Package.swift:

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

Using Carthage

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

github "angledotdev/simulator" ~> 2.0.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/angledotdev/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.angledotdev.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:angledotdev/simulator.git
  2. Generate Xcode project with swift package generate-xcodeproj.
  3. Open Simulator.xcodeproj.
  4. Have fun 🤖


Help us keep the lights on