# Devices

What Silan can do today on iPhones, iPads, Xcode simulators, Android emulators and Android phones, and the two ways it controls an iPhone or iPad.

Silan lists every device the Mac can see, with its name, model, system version, how it is connected and whether it is ready. Open a device to see its health checks and what is missing before Silan can control it.

## Status at a glance

| Device | Picture | Tap and type | Element list | Status |
|---|---|---|---|---|
| iPhone or iPad, Simple way | yes, over the cable | yes, through a pointer | no | supported |
| iPhone or iPad, Developer way | yes, cable or Wi-Fi | yes, exact | yes | supported |
| iPhone or iPad, no setup | yes, over the cable | no (view only; apps can be launched) | no | supported |
| Xcode simulator Silan makes | yes | yes | yes | supported |
| Android emulator | yes | yes, with Silan's helper app | yes | supported |
| Android phone or tablet | yes | yes, with Silan's helper app | yes | in testing |
| Your own existing Xcode simulators | | | | coming soon |

"Supported" means the code is on main and a run on a real device, simulator or emulator proved it. "In testing" means the steps are in the app and the proof on a real device is still owed.

## iPhone and iPad on a cable

Use a cable the first time. Silan then shows the device and its live picture at once, and can launch apps on it. To tap and type, pick one of two ways in **Set up**.

### Simple way

For everyone. No Xcode and no Apple account.

- Silan acts as a Bluetooth keyboard and mouse. Taps go through a pointer, so small buttons can be missed.
- The picture comes over the cable, so the device stays plugged in.
- No element list and no rotation. The agent works from the picture and opens apps by name through the phone's search.
- Setup: Trust this Mac, See the screen, Pair over Bluetooth, Turn on the pointer. About 2 minutes.

### Developer way

For app testers. Exact taps, the full element list, rotation and the testing tools.

- Silan installs a small helper app on the device, signed with your own Apple account. This needs Xcode on the Mac.
- After the first cable link, the device also works over Wi-Fi on the same network.
- The element list lets an agent find a button by its name instead of guessing from pixels.
- Setup: Trust this Mac, Turn on Developer Mode, Choose your Apple account, Install Silan's helper, Allow UI Automation.

### Both ways

- Phone sound plays on the Mac (cable only).
- Several iPhones and iPads at once from one chat: Silan's lead writes one job per device, and one device can wait for a value another device finds.
- Take control back on the device by holding both volume buttons (in testing).
- Let an idle device sleep (in testing).

## Xcode simulators

With Xcode on the Mac, Silan makes its own iPhone or iPad simulator (**Silan iPhone**, **Silan iPad**) from the empty Rack, **Add a device**, **Settings › Devices & Drivers** or a chat's device list. A stopped simulator says so, and **Make a simulator** starts it again.

Simulators give the element list, exact taps, rotation, text size, location, clipboard and the test push tools. Test pushes are off on iOS 27 simulators, where the system's push command hangs the simulator; the device's health shows a warning.

Silan does not list the simulators you made yourself in Xcode (coming soon).

## Android

Silan controls Android through the Android platform tools (adb) and its own helper apps, which it installs on the device. There is no Bluetooth way on Android.

### Android emulators

Start an emulator yourself. Silan lists it through adb, installs its helper and gives taps, typing, swipes, the element list, notifications, clipboard, location and app install. Silan's Android test suites run on an emulator.

### Android phones and tablets

The app has one checklist, **Get your Android phone ready**: install the Android tools with one Terminal line, turn on USB debugging, tap Allow on the phone, and Silan adds its helper app. Each step ticks by itself, and the phone reads **Ready** once Silan can tap and type.

Real Android phones are in testing: the steps are in the app and the proof on a real phone is still owed.

### Android tools

Silan looks for adb in Android Studio's SDK, then Homebrew, then your PATH. It never ships adb. Install it with:

```sh
brew install android-platform-tools
```

Silan starts the adb server itself when it is not running.

## Device states

A device is one of `ready`, `busy`, `leased`, `locked`, `needsSetup`, `connecting` or `disconnected`. An unplugged device stays in the app's list as disconnected, with the time it left, until it comes back or you remove it. Agents and API clients see only devices that are there.

## Not yet

- Push notifications to a real iPhone or Android phone through Apple's or Google's push service (coming soon).
- Reading SMS or one-time codes from the phone's messages. The agent can read a code that shows on the screen like any text, and can fill a one-time code from your password manager ([Safety](/safety/)).
- In-app purchase and entitlement checks.