Skip to content

Instantly share code, notes, and snippets.

@lucasrod
Created January 19, 2026 18:30
Show Gist options
  • Select an option

  • Save lucasrod/52b8375d0b8a8212092c2440f0400fa3 to your computer and use it in GitHub Desktop.

Select an option

Save lucasrod/52b8375d0b8a8212092c2440f0400fa3 to your computer and use it in GitHub Desktop.
iOS 26.0 Location Spoofing with pymobiledevice3

iOS 26.0 Location Spoofing Quick Guide

Using pymobiledevice3 for GPS simulation on iOS 17.0+


TL;DR (Daily Usage)

# Terminal 1: Start tunnel (keep open)
sudo pymobiledevice3 lockdown start-tunnel

# Terminal 2: Set location (use RSD address/port from tunnel output)
pymobiledevice3 developer dvt simulate-location set --rsd fd03:daf1:235f::1 56870 -- 37.7749 -122.4194

# Reset to real location
pymobiledevice3 developer dvt simulate-location clear --rsd fd03:daf1:235f::1 56870

First-Time Setup

1. Install pymobiledevice3

brew install pipx && pipx ensurepath
pipx install pymobiledevice3

2. Enable Developer Mode (on iPhone)

Settings → Privacy & Security → Developer Mode → ON → Restart

3. Mount Developer Disk Image

# Unlock iPhone first!
pymobiledevice3 mounter auto-mount

Usage

Step 1: Start Tunnel

sudo pymobiledevice3 lockdown start-tunnel

Output:

RSD Address: fd03:daf1:235f::1
RSD Port: 56870

Keep this terminal open!

Step 2: Spoof Location

Open a new terminal:

pymobiledevice3 developer dvt simulate-location set --rsd <ADDRESS> <PORT> -- <LAT> <LONG>

Step 3: Reset Location

pymobiledevice3 developer dvt simulate-location clear --rsd <ADDRESS> <PORT>

Popular Locations

City Command
San Francisco -- 37.7749 -122.4194
New York -- 40.7128 -74.0060
London -- 51.5074 -0.1278
Tokyo -- 35.6762 139.6503
Paris -- 48.8566 2.3522
Los Angeles -- 34.0522 -118.2437
Chicago -- 41.8781 -87.6298
Miami -- 25.7617 -80.1918
Seattle -- 47.6062 -122.3321
Sydney -- -33.8688 151.2093
Singapore -- 1.3521 103.8198
Dubai -- 25.2048 55.2708
Berlin -- 52.5200 13.4050
Amsterdam -- 52.3676 4.9041
Toronto -- 43.6532 -79.3832

Play GPX Route

pymobiledevice3 developer dvt simulate-location play --rsd <ADDRESS> <PORT> route.gpx

Shell Aliases (Optional)

Add to ~/.zshrc:

# GPS Spoofing aliases
alias gps-tunnel='sudo pymobiledevice3 lockdown start-tunnel'
alias gps-set='pymobiledevice3 developer dvt simulate-location set --rsd'
alias gps-clear='pymobiledevice3 developer dvt simulate-location clear --rsd'
alias gps-play='pymobiledevice3 developer dvt simulate-location play --rsd'

# Quick locations (update RSD address/port as needed)
alias gps-sf='pymobiledevice3 developer dvt simulate-location set --rsd fd03:daf1:235f::1 56870 -- 37.7749 -122.4194'
alias gps-nyc='pymobiledevice3 developer dvt simulate-location set --rsd fd03:daf1:235f::1 56870 -- 40.7128 -74.0060'
alias gps-reset='pymobiledevice3 developer dvt simulate-location clear --rsd fd03:daf1:235f::1 56870'

Then: source ~/.zshrc


Troubleshooting

Error Solution
Developer Mode is disabled Enable on iPhone: Settings → Privacy & Security → Developer Mode
DeviceLocked Unlock iPhone, keep screen on
Unable to connect to Tunneld Run sudo pymobiledevice3 lockdown start-tunnel first
Command hangs Normal! Location is being spoofed. Use another terminal.
No module named pymobiledevice3 Use pymobiledevice3 directly, not python3 -m

Why Not LocationSimulator?

LocationSimulator doesn't support iOS 17.0+ because:

  1. Apple changed device APIs (CoreDevice framework)
  2. Dependency libimobiledevice hasn't updated yet
  3. Code has unimplemented TODO for personalized images

pymobiledevice3 is the working alternative.


Device Info

  • Model: iPhone SE (iPhone14,6)
  • iOS: 26.0 (Build 23A341)
  • Device ID: 00008110-000A6C641440401E

Last Updated: 2026-01-19

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment