Skip to content
πŸ“± A simctl wrapper in Swift
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
.github
.vscode
Simulator-Carthage.xcodeproj
Simulator-Carthage.xcworkspace
Sources/simulator
Tests/SimulatorTests
.editorconfig
.gitignore
.jazzy.yaml
.prettierrc
.ruby-version
.swift-version
.swiftformat
.swiftlint.yml
CHANGELOG.md
Cartfile
Cartfile.resolved
Dangerfile
Gemfile
Gemfile.lock
Info.plist
LICENSE.md
Makefile
Package.resolved
Package.swift
Project.swift
README.md
RELEASE.md
Rakefile.rb
Simulator.podspec

README.md

πŸ“± 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 πŸš€

Devices

// 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

Runtimes

// 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 πŸ€–
You can’t perform that action at this time.