Control your iPhone from your Mac
iFarm lets you control a real iPhone from your Mac with the mouse and keyboard. Click to tap, click and drag to swipe, click and hold to long press, and type from the Mac, over USB or Wi-Fi. It's free, needs no jailbreak, and works on iPhones running iOS 16 or later.
How to control an iPhone from your Mac with iFarm
Open a phone in iFarm and you see its live screen, large, at full quality: about 24–25 frames per second. Everything you do with the mouse on that screen happens on the phone:
| On the Mac | On the iPhone |
|---|---|
| Click | Tap |
| Click and drag | Swipe, following your exact path and speed |
| Click and hold (½ second or more) | Long press |
| Buttons under the screen | Home, Volume −/+, Lock, Wake |
| Type in the side panel, press Send | Text typed into the field you tapped |
The frame rate is shown under the screen, so you always know how smooth the view is.
To type, tap a text field on the phone first (so the keyboard is up), then type in iFarm's side panel and press Send. That's faster than tapping letters one by one, and it works in any app.
What you need
- A Mac on macOS 14 (Sonoma) or later, Apple silicon or Intel.
- Xcode, free from the Mac App Store. iFarm uses it to build the phone helper.
- An Apple ID added in Xcode. A free Personal Team works (the helper is re-signed every 7 days, and iFarm renews it automatically). The Apple Developer Program ($99/year) makes the helper last a year.
- An iPhone on iOS 16 or later, with Developer Mode on, and a data cable for the first connection.
Setup takes about 20 minutes, mostly waiting for Xcode to download. The full walk-through is in the setup guide.
Getting your first phone on screen
- Install Xcode, open it once and let it finish installing its components.
- Download iFarm from the iFarm website, drag it into Applications and open it. The first time, macOS asks you to approve it in System Settings → Privacy & Security → Open Anyway, because iFarm isn't notarized by Apple yet.
- Plug the iPhone in with a data cable. Unlock it and tap Trust.
- Turn on Developer Mode: Settings → Privacy & Security → Developer Mode → On. The phone restarts; confirm "Turn On".
- In iFarm's setup screen, pick your signing team and press Start. iFarm downloads WebDriverAgent (about 4 MB), checks its checksum, builds it with your team (1–3 minutes, once per Mac) and launches it on the phone.
- The phone's live screen appears. Click it to tap.
After that, an app called iFarm sits on the phone. That's the helper. iFarm starts it from the Mac, so you never need to open it yourself.
USB or Wi-Fi
Both work. iFarm uses the cable whenever one is plugged in, and Wi-Fi otherwise. Each phone shows a green USB or orange Wi-Fi tag.
Measured on an iPhone 13 Pro Max, USB answers commands in about 6 ms and Wi-Fi in about 18 ms. Both feel instant when you're clicking around. The live stream itself is the same either way; USB just keeps that traffic off your network.
Wi-Fi control is protected by a per-phone secret kept in your Mac's Keychain, and connections without it are refused. The Wi-Fi traffic isn't encrypted, so use a private network. If you'd rather allow USB only, turn off Setup → Preferences → Allow control over Wi-Fi: the helper then can't be reached from the network at all.
If a USB connection drops, iFarm switches that phone to Wi-Fi (when allowed) without stopping, and moves back to USB when the cable works again.
The optional iPhone frame
A switch under the phone's screen (and at the top of All phones) shows the phone inside an iPhone body instead of a plain screen. The frame's buttons work: volume up and down on the left, the side button on the right locks the phone or wakes it, and Home is the bar at the bottom of the screen (or the round button on iPhones that have one). It's handy for demos and teaching on a big screen. Switch back to the plain look any time.
Keeping the phone unlocked
On a phone's page you can save its passcode. It's stored only in your Mac's Keychain, and iFarm uses it to unlock the phone by itself. Keep this phone awake and unlocked checks every 30 seconds; Wake and Unlock now do it once.
One honest limit: the saved passcode only works while the phone's helper is running. Whenever the helper has to start on a locked phone (after the phone restarts, after iFarm restarts, or after the helper stopped while idle), unlock the phone by hand once. iOS won't start the helper on a locked phone. The tile tells you when this is needed. Setting Auto-Lock to Never on the phone, keeping it charging and setting the idle stop to Never in Setup → Preferences makes it rare.
Limits worth knowing
- Touches made directly on the phone aren't seen by iFarm. iOS doesn't let any app see them. What you do in iFarm's live view reaches the phone; what you do on the glass stays on the glass.
- Remote use goes through the Mac. iFarm only accepts connections from the Mac it runs on. To work from elsewhere, use macOS Screen Sharing or any remote-desktop app to reach the Mac, then use iFarm as if you were there.
- Xcode UI tests and iFarm can't drive the same phone at once. Give each its own phone, or stop iFarm on that phone while XCUITest runs.
When one phone becomes several
Everything above works the same in the All phones grid, where each tile is controllable and Mirror repeats your taps on every checked phone. If you find yourself repeating the same taps every day, record them once and replay them.
Frequently asked questions
Can I control an iPhone from a Mac without jailbreaking it?
Yes. iFarm works on stock iPhones. It installs a small helper app (WebDriverAgent) signed with your own Apple developer team, which iOS allows on phones with Developer Mode on.
Does this work with Apple's iPhone Mirroring?
They're separate. iPhone Mirroring shows one iPhone at a time. iFarm uses its own helper app, so it can show and control several phones at once, and each one stays unlocked and usable while you control it.
Do I need a paid Apple developer account?
No. A free Apple ID works; the helper is re-signed every 7 days and iFarm renews it automatically. The Apple Developer Program ($99/year) keeps the helper valid for a year and is recommended if you run several phones.
Is controlling over Wi-Fi slower than USB?
Slightly. Measured on an iPhone 13 Pro Max, commands take about 6 ms over USB and about 18 ms over Wi-Fi. For a few phones you won't notice; past about 10 phones on Wi-Fi, use cables.