/LocationSimulator

MacOS 10.15 / 11.0 application to spoof your iOS / iPadOS or iPhoneSimulator device location. WatchOS and TvOS are partially supported.

Primary LanguageSwiftGNU General Public License v3.0GPL-3.0

If you got an Unable to install/mount DeveloperDiskImage.dmg error, verify that you tried everything mentioned here before opening a new issue.

License: GNU General Public License version 3

LocationSimulator

LocationSimulator is a macOS app (10.15.x / 11.x) which allows spoofing the location of an iOS or iPhoneSimulator 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. I do not provide support for PokemonGo related issues. I do not encourage anyone to use this for PokemonGo. According to one report using the navigation feature will get you banned. The method used to spoof your location is basically the same used by PokemonGo Webspoof (except that Xcode is not required) or iSpoofer. That means, this application might have the same issues [1], [2] as similar applications in regards to PokemonGo.

LocationSimulator screenshot

Background

While I originally planed to build upon the fantastic work of Watanabe Toshinori LocationSimulator I decided to recreate and change the whole project because of the projects (back then) 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.
  • Spoof the iPhoneSimulator device location.
  • 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.

Note:
LocationSimulator will try to download the corresponding DeveloperDiskImage.dmg and DeveloperDiskImage.dmg.signature for your iOS Version from github, since 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/{YOUR_PLATFORM}/{MAJOR_YOUR_IOS_VERSION}.{MINOR_YOUR_IOS_VERSION}/

YOUR_PLATFORM might be iPhone OS (iPhone and iPad), Watch OS (Apple Watch) or Tv OS (Apple TV). MAJOR_YOUR_IOS_VERSION might 14 and MINOR_YOUR_IOS_VERSION might be 3 for a device running iOS 14.3.

As of v0.1.8 this folder moved to:

~/Library/Containers/com.schlaubi.LocationSimulator/Data/Library/Application Support/LocationSimulator/

Install

Download the latest release build from github to get the latest changes.

Build

Requirements

Build the app

  1. Install the latest Xcode developer tools from Apple. (Using the AppStore is the easiest way)

  2. Install the latest version of libimobiledevice (and thereby all it's dependencies as well) with homebrew:

    brew install libimobiledevice
  3. Clone this repository:

    git clone --recurse-submodules https://github.com/Schlaubischlump/LocationSimulator
  4. Open LocationSimulator.xcodeproj in Xcode.

  5. 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 the LocationSimulator scheme and switch the configuration to Release before running. If you do not want to bundle the dependencies, but want to create a release build choose the Homebrew scheme.

Usage

Allow network devices (optional):

1. Make sure you can sync your device over Wi-Fi and access it inside the Finder.

Sync your content using Wi-Fi

After you set up syncing with the Finder using USB, you can set up the Finder to sync to your device with Wi-Fi instead of USB.

  1. Connect your device to your computer with a USB cable, then open a Finder window and select your device.

  2. Select “Show this [device] when on Wi-Fi."

  3. Click Apply.

When the computer and the device are on the same Wi-Fi network, the device appears in the Finder. The device syncs automatically whenever it's plugged in to power.

2. Make sure that "LocationSimulator" -> "Preferences..." -> "Network" -> "Allow network devices" is enabled

Start spoofing:

  1. Connect the iOS device to your computer via USB or Wi-Fi.
  2. Select the device in the sidebar.
  3. 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 or select the menu item to set the coordinates manually.
  • 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:

  • Click the reset button.

License

The whole project is licensed under the GNU General Public License version 3 unless specified otherwise in the specific subdirectories.

Contribute

Since I maintain this project in my freetime, I always appreciate any help I get. Even if you are not a programmer and do not know anything about coding you can still help out. Currently this project is only available in English, Chinese, Spanish, Swedish and German. It would be great if more languages were available. If you know any other language and you are willing to invest some time to help with the translation let me know here! I want this software to be as stable as possible, if you find any bug please report it by opening a new issue. If you are a programmer, feel free to contribute bug fixes or new features. It would be great if you run swift-lint on your code before submitting pull requests.

While you are here, consider leaving a Github star. It keeps me motivated.

Enhancement ideas

Look at the Projects tab to see a list of planned features for the next releases.

Acknowledgement

Special thanks to @bailaowai and his son for the Spanish and Chinese translation.