/PokemonGoMove

Pokemon GO iOS GPS Emulator - NO Jailbreak needed, lets you play the game on your Mac :)

Primary LanguageJavaScript

Pokemon GO GPS Emulator

2016-07-13 11 24 07

This project uses Xcode Debug mode Simulating a Location at Runtime to spoof GPS locations for non-jailbroken iOS devices. This allows players of Pokemon GO to send movement commands over a computer as opposed to doing the actual walking.

Warning: Improper Use of this Tool Will Get You Banned!

As reported on reddit, spoofing your GPS coordinates in game could get you banned. Anecdotally, when you change your GPS coordinates drastically in a short period of time (say NYC to SF), you will be soft banned for anywhere between 10 mins to 3 hours. However, there have not been cases of permanent ban, so do this at your discretion. My guess is that the Niantic servers compute a delta distance over delta t and sets a threshold on the speed. Anything beyond the threshold will get your banned.

Workaround

The latest repo has a startup routine that sets your startup location to be your current location. This would save you the hassle of looking up your GPS coordinates. The idea is you want to be as close to your current location as possible to not exceed the threshold. Also shutdown all background apps and refrain from fighting in a gym. The OS would shutdown the spoofing app when there's limited resources, causing you to teleport back to your original location.

Main Components

  • A blank iOS project, used in Debug mode for Simulate Location
  • A web interface made via Sinatra to interact with PokemonGo from PokemonGoControllerSuite
  • An AppleScript for sending GPS location signals

System Requirement

  • Xcode installed (Obviously you need a Mac, an Apple Developer Account is not needed if you have iOS 9 and above)
  • Any iOS device with Pokemon GO installed

Installation Instructions

Start web server

sudo gem install sinatra

If you are in China, you can specify the source via -s http://gems.ruby-china.org

Go into the terminal, and run the following:

git clone https://github.com/huacnlee/PokemonGoMove.git
cd PokemonGoMove
./start-web 

This will try to set your startup location as your current location via your IP address. Note, this will not be very accurate as the API only returns up to 4 decimal places. If this fails, it will default to a location in California. If you would like to startup with a specific location you can run the following:

./start-web -l 123.456 -o 78.90 

You should see the debug messages below

== Sinatra (v1.4.7) has taken the stage on 3001 for development with backup from Puma
Puma starting in single mode...
* Version 3.4.0 (ruby 2.3.1-p112), codename: Owl Bowl Brawl
* Min threads: 0, max threads: 16
* Environment: development
* Listening on tcp://localhost:3001
Use Ctrl-C to stop

Open foo.xcodeproj

Connect your iOS device and run the project. Remember in to turn simulate location on. Very important: Debug->Simulate Location->PokemonLocation is checked, otherwise it will not work.

Open a web browser

Now in a web browser open http://127.0.0.1:3001, you should see the following:

2016-07-13 11 24 07

You can now interact with the webpage (try press left, up, right, down arrow keys on your keyboard) and the AppleScript will transmit the new GPS signal to the iOS device. Now feel free to relax and play the game without moving your legs.

Crowdsourced Maps that Help You Catch all Pokemons:

Having trouble finding new pokemons? Try looking up the following map tools to find the pokemon you are looking for!