Description
LocationSimulator is a macOS app which allows spoofing the location of an iOS device. The main target audience of this project are developers who want to test their location service based application. Of course you might as well use this app to spoof your location inside PokemonGo, but don't blame me if you get banned. The method used to spoof your location is basically the same used by PokemonGo Webspoof (except that Xcode is not required) or iSpoofer.
Background
While I originally planed to build upon the fantastic work of Watanabe Toshinoris LocationSimulator I decided to recreate and change the whole project because of the projects missing license. I created all necessary images and source code files and removed all dependencies except for libimobiledevice. Even Xcode is not required anymore. You just need the DeveloperDiskImage.dmg
and DeveloperDiskImage.dmg.signature
files for your iOS Version.
Features
- ✅ Spoof the iOS device location without a jailbreak or installing an app on the device.
- ✅ Automatically try to download the DeveloperDiskImage files for your iOS Version.
- ✅ Set the device location with a long click on the map.
- ✅ Support 3 movement speeds (Walk/Cycle/Drive).
- ✅ Control the movement using the arrow keys.
- ✅ Navigate from the current location to a new location.
- ✅ Support network devices.
- ✅ Search for locations.
- ✅ Support dark mode.
Build
Requirements
- macOS 10.13+
- Swift 5.0+
- libimobiledevice
Note:
LocationSimulator will try to download the correspondingDeveloperDiskImage.dmg
andDeveloperDiskImage.dmg.signature
for your iOS Version from github, because I can not legally distribute these files. If the download should not work, get the files by installing Xcode and copy or link them to:
~/Library/Application Support/LocationSimulator/{MAJOR_YOUR_IOS_VERSION}.{MINOR_YOUR_IOS_VERSION}/
Build the app
-
Install the latest Xcode developer tools from Apple.
-
Install latest version of libimobiledevice (and thereby all it's dependencies as well) with homebrew:
brew install libimobiledevice --HEAD
You might need a new version of
libusbmuxd
forlibimobiledevice
to install. Usebrew install usbmuxd --HEAD
to install the latest version. (versions >= 2.0.1 are sufficient)
-
Clone this repository:
git clone --recurse-submodules https://github.com/Schlaubischlump/LocationSimulator
-
Open
LocationSimulator.xcodeproj
in Xcode. -
Adjust the header search paths, library search paths
and the embeddedand linked libraries if required.
If you checked out a different head for
libimobiledeive
orlibusbmuxd
than used in this project, you will need to change all of the above entries.
- Tap Run to build and execute the app.
Note:
If you want to build a standalone application which can be copied to another Mac without installing the dependencies choose theLocationSimulator
scheme and switch the configuration toRelease
before running. If you do not want to bundle the dependencies, but want to create a release build choose theHomebrew
scheme. When a new release oflibimobiledevice
is available, I will try to create a homebrew cask for this application.
Usage
Start spoofing:
- Connect the iOS device to your computer via USB or Wi-Fi.
- Long click the point you want to set as the current location on the map.
Moving:
- Click the walk button at bottom left corner of the map. Drag the blue triangle to change the direction of movement.
- Long click the walk button to enabled auto move. Click again to disable auto move.
- Long click on a new point on the map while you are spoofing the location to show the navigation prompt.
- Use the left and right arrow keys to change the direction of movement. Use up and down to move. Press space to stop the navigation.
Stop spoofing:
License
The whole project is licensed under the MIT License unless specified otherwise in the specific subdirectories.
Contribute
Help is always appreciated, wether it are bug fixes or features! E.g accessibility support is still to be implemented, especially for the popup menu.
Enhancement ideas
- Allow following a predefined route from a gpx file