Using
pymobiledevice3for GPS simulation on iOS 17.0+
# 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 56870brew install pipx && pipx ensurepath
pipx install pymobiledevice3Settings → Privacy & Security → Developer Mode → ON → Restart
# Unlock iPhone first!
pymobiledevice3 mounter auto-mountsudo pymobiledevice3 lockdown start-tunnelOutput:
RSD Address: fd03:daf1:235f::1
RSD Port: 56870
Keep this terminal open!
Open a new terminal:
pymobiledevice3 developer dvt simulate-location set --rsd <ADDRESS> <PORT> -- <LAT> <LONG>pymobiledevice3 developer dvt simulate-location clear --rsd <ADDRESS> <PORT>| 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 |
pymobiledevice3 developer dvt simulate-location play --rsd <ADDRESS> <PORT> route.gpxAdd 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
| 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 |
LocationSimulator doesn't support iOS 17.0+ because:
- Apple changed device APIs (CoreDevice framework)
- Dependency
libimobiledevicehasn't updated yet - Code has unimplemented TODO for personalized images
pymobiledevice3 is the working alternative.
- Model: iPhone SE (iPhone14,6)
- iOS: 26.0 (Build 23A341)
- Device ID: 00008110-000A6C641440401E
Last Updated: 2026-01-19