Sometimes, you may wish to change the GPS location on your iPhone to perform a check-in at a faraway place, unlock special item based on Geolocation or whatever it may be. Usually you would require to jailbreak your iPhone. In this blog I will demonstrate how to simulate GPS location on your non-jailbroken iOS device.
This method is made available by leveraging location simulation option provided by Apple which was meant for iOS developers. If you are an IOS developer building an app specific to a specific region, you may need to test the app from a remotely. Apple provides an override iOS location services from within an app, thus allowing you to test the app to that specific location.
When this is done, all other apps using Location Services from the device will use the simulated location. You can use check-in feature in Facebook, use Waze from simulated location, share your simulated location in whatsapp. All of this is done as if you are actually at the simulated location.
In essence, what will happen is Property List (.plist) file, associated with native Maps app for iOS, is modified and a custom location is made available within the iOS Maps app.
BEFORE proceeding, please ensure that you BACKUP your device, or have a backup ready that you can restore back to. (NOTE that this does NOT work on iOS 11)
- Connect your iOS device to your computer
- Open iTunes, and DISABLE “Automatically Sync this iphone when connected”
- Click Back Up Now and wait for backup to finish
DO NOT proceed unless backup is completed successfully/ Steps above are completed successfully
- Do you have a backup? if NOT do the steps highlighted above. Do NOT proceed otherwise
- Download and install 3uTools direct download link (Non HTTPS site at time of blog)
- Connect your iOS device to your computer (If not done already)
- Click on Backup/Restore | Back up iDevice (Ensure unencrypted are backup for this purpose)
- Once Backup is completed click View Backup
- In Backup Viewer, click on the App Documents tab and navigate to /AppDomain-com.apple.Maps/Library/Preferences (AppDomain-com.apple.Maps is located towards the bottom of the page)
- Double click and open “com.apple.Maps.plist”. The file opens in a plist editor.
- Insert the following code before the </dict> tag in the file:<key>__internal__PlaceCardLocationSimulation</key>
- Ensure the proper alignment and save the file.
- Now go back to Backup/Restore and choose Restore Data.
- Select the latest available backup and click on the Restore Now button at the bottom right corner. (In order to Restore from a backup, “Find My iPhone” should be turned off on iDevice, through Settings | Your Apple ID | iCloud | Find My iPhone)
- Wait for the restoration to complete, and unplug your device from the computer.
- Now launch the Apple Maps app on your iOS device, and search for the particular location you want to simulate.
- Once the location pin is set tap on the location, then scroll down and find Simulate Location. Tap on it.
All apps will now use the simulate location as your current location. To resume normal operation, simply restart your iOS device.