# danielpaulus/go-ios

This is an operating system independent implementation of iOS device features. You can run UI tests, launch or kill apps, install apps etc. with it.

Repository: https://github.com/danielpaulus/go-ios
Canonical: https://ross.abutalabs.com/products/go-ios
Language: Go
License: MIT
License Family: permissive
Topics: ios, linux, xcuitest, instruments, dtx-framework, dtx, appium-ios, hacktoberfest, golang, hacktoberfest2022, hacktoberfest2023
Last push: 2026-08-14T17:22:37+00:00

## Health v2 (maintenance only)
Score: 93/100 (v2, computed 2026-09-03T02:39:23.370411+00:00)
- activity 97, release rhythm 85, longevity 100
- inputs: {"age_days": 2654, "days_push": 19, "days_rel": 22, "gap_med": 2.0, "n_releases_24m": 81}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2223, forks 330 (observed 2026-08-28T04:06:27.852382+00:00)

## What it is
go-ios is a cross-platform, open-source implementation of iOS device automation features written in Go, usable as a CLI or Go library. It enables installing and launching apps, running XCUITests including WebDriverAgent, pairing devices, and managing developer images on Linux, Windows, and macOS without needing a Mac.

## Use cases
- install ipa apps on ios devices from linux or windows
- run xcuitest tests on ios devices in ci without a mac
- launch and kill apps on connected iphones
- pair ios devices programmatically without tapping trust popup
- automate ios device testing at scale for device farms
- reverse engineer apple instruments protocols via debug proxy
- set device thermal states and network emulation on iphone

## When to choose
- you need to automate iOS devices on Linux or Windows without macOS
- you want a lightweight static binary CLI with JSON output for scripting
- you are building a device farm or CI pipeline for iOS testing
- you need a Go library for talking to iOS devices over usbmuxd

## When to avoid
- you only need simple one-off device management and already have a Mac with Xcode
- you need a full GUI-based device management experience
- you require official Apple-supported tooling with guaranteed compatibility

## Facets
- artifact type: cli-tool
- maturity: active
- function: workflow-automation, testing, developer-tools, cli, e2e-testing
- domain: mobile-development, developer-tools, testing
- platform: windows, cli, cross-platform
- tags: ios, xcuitest, appium, device-automation, usbmuxd, webdriveragent, go, automation, linux, macos

## Member repositories
- danielpaulus/go-ios (main) score 93

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:27.852382+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:45:01.600300+00:00, confidence not recorded.
  - readme: https://github.com/danielpaulus/go-ios (fetched 2026-08-28T04:06:27.852382+00:00, sha 37764ee99ac5)
- Data as of 2026-08-30T08:39:29.467469+00:00.
