Giter VIP home page Giter VIP logo

schlaubischlump / locationsimulator Goto Github PK

View Code? Open in Web Editor NEW
2.3K 34.0 178.0 13.1 MB

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

Home Page: https://schlaubischlump.github.io/LocationSimulator/

License: GNU General Public License v3.0

Swift 99.90% Objective-C 0.10%
location location-spoofing location-spoof fake-locations development-tools macos libimobiledevice mock-location mock-locations spoof

locationsimulator's Introduction

locationsimulator's People

Contributors

craigcoles avatar devmaximilian avatar itsmelion avatar mtdeity avatar rithari avatar schlaubischlump avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

locationsimulator's Issues

[iOS 14.0] Image Mounting Error

Console is writing:

[INFO]: Uploading /Users/a1121460/Library/Application Support/LocationSimulator/14.0/DeveloperDiskImage.dmg [ERROR]: mount_image returned -256

Corresponding Image incl. signature-file was manually loaded in the application Support directory

Device is at 14.0 GM

Few Suggestions

1.is there any way to teleport location on basis of location coordinates paste the coords instead os typing city
2.add custum gpx

Rewrite the search popup

Rewrite the search popup into its own package. Add accessibility support, when rewriting the popup. Somewhere on the internet is sample code from Apple in Objective-C how to correctly mimic the behaviour seen in Safari's search popup.

Differentiate DeveloperDiskImage download for different devices

WatchOS and TvOS use different DeveloperDiskImages. We need to find a way to differentiate the kind of device connected and decide based on that which DeveloperDiskImage to download. iDeviceInfo provides a way to read the device model maybe the version number also includes this info. That should be enough to identify the kind of device. Each DeveloperDiskImage should be placed in a subfolder e.g:

iOS/14.2/
watchOS/7.1/
iPadOS/... (This can be the same as iOS)
TvOS/...

Currently watchOS and TvOS are not supported. You have to upload the DeveloperDiskImage before starting LocationSimulator.

Device switches when new device is detected

Setup:

  1. A device is connected over USB (or Wi-Fi ?) and is currently spoofing the location.
  2. Connect additional devices over Wi-Fi (or USB?)

Bug:
The new device is selected and the location spoofing stops.

Expected behaviour:
The new device appears in the list without changing the current selection.

This bug was reported by @marvinjoa. I'm unable to reproduce this error. If anybody else experiences the error please let me know how to reproduce it.

Manipulate physical device gps speed

I didn't know how to actually send you a direct request so I'm opening this as an issue, is there anyway you could manipulate the device gps speed? Such as if I'm using Waze navigation I can choose what speed it thinks my device is moving at?

[Feature] Add custom speed

Add a custom speed which can be configured from the preference window. It should be possible to decide the speed and the movement type (walk, car) from the settings.

Maybe even a manual speed option to navigate from one location to the next manually ?

Parse GPX files

LocationSimulator should provide a way to parse gpx files and follow the route defined in the file. I'm a little bit confused about the file format. Furthermore I need to find a GPLv3 compatible Swift (Objective-C or C are possible as well) GPX parser, as I don't want to maintain my own.

Does this support connections over WiFi?

iSpoofer has this in their new releases. I believe it is possible using libimobiledevice, but I am not sure. Does this project support it?

Edit:
In libusbmuxd you can use the function usbmuxd_get_device().
That allows you to look up USB and network devices. I am curious how this could be implemented in establishing and maintaining connections over WiFi.

Movement speed drop when connect to device using wifi

When I connected to the app through wifi, it takes a long time to set the location on my iPhone, probably due to the poor wifi connection. This is slowing down the movement speed, as the time duration between location updates is a fixed number while the actual time duration is far greater than the fixed time duration.

I would love to help improve this but I am also having some issues connecting to my iPhone via wifi. Sometimes it just connects automatically, sometimes it just doesn't connect at all.

[Feature] Export all backend code to its own swift package

Exporting all backend code to its own swift package and linking against the static libraries, instead of the dynamic ones, will simplify the development process. Furthermore it will fix the macOS 10.13 compatibility problems.

libimobiledevice and libplist should be bundled into its own swift module map.

Fix warning triangle

When connecting a device for which no DeveloperDiskImage is downloaded, the DeveloperDiskImage will be downloaded and the device is reloaded. In this case the load(device: Device) function will return false, although it should be true if the upload was successful.

[iOS 14.0] Unable to change location after

my phone got updated to iOS 14 and the location simulator recognised and downloaded the devImage 14.0. the application recognises my iPhone but it says Error changing location.

Tutorial

Can You Screen Record a Tutorial On How To Build & Run This?

Thanks

[Feature] Add help menu entry

Add an Apple help menu entry for LocationSimulator. It has to be written in some form of HTML. The documentation for this is really bad.

Feel free to contribute any texts / documentation below that fits into a help menu entry.

Unknown Error

i've gotten an Unknown error saying "You should never see this message... Please contact the author."

'libimobiledevice/libimobiledevice.h' file not found

Thanks for putting this together. I followed the installation guide, but ran into problems when starting the project in xcode. I didn't make any changes to the files/path. Any recommendation? Thanks again, KM

LocationSimulator Group
Swift Compiler Error Group

/Users/XXXXXX/LocationSimulator/LocationSimulator/LocationSimulator-Bridging-Header.h:10:10: 'libimobiledevice/libimobiledevice.h' file not found
Failed to emit precompiled header

'/Users/XXXXXX/Library/Developer/Xcode/DerivedData/LocationSimulator-edkfbvokichndiawkcsertmgvvgg/Build/Intermediates.noindex/PrecompiledHeaders/LocationSimulator-Bridging-Header-swift_1DHQE3S7EOM96-clang_32EKOHJC58KDP.pch' for bridging header '/Users/D040956/LocationSimulator/LocationSimulator/LocationSimulator-Bridging-Header.h'

Trying to compile but...

ld: library not found for -lusbmuxd.4
clang: error: linker command failed with exit code 1 (use -v to see invocation)

[Feature] Rewrite LocationSpoofer

Refactor the LocationSpoofer class to provide a more consistent, easier to use API.

It should implement a queue, which is cleared if reset is clicked. Otherwise all events should be added to the queue with a timestamp. This timestamp can be used to calculate when the event should be scheduled.

error

Screenshot 2020-01-26 at 11 14 04 PM
newbie to xcode dnt knew anything abut coding but i will try my best to solve this please guide me

Fix autofocus

The autofocus is very buggy when trying to zoom in, while it is active.

[Feature - Discussion] Waypoints

A system of pins that could be dropped on the map that you could auto navigate too (in a straight line). The UI could remain minimal and even clicking on the pins could give the option or just remove them.

Code Cleanup

Cleanup the application code, by restructuring the project into more classes.

Updated dependencies issue

Hi, could you help me close out a runtime error that I'm having? It appears its due to openssl being more up to date than the one you have referenced in the project but thats just my un-educated guess.

Xcode says that Thread 1 has messages "0_abort_with_paylod" and here is the error message I have:

dyld: Library not loaded: /usr/local/opt/[email protected]/lib/libssl.1.1.dylib
  Referenced from: ~/Library/Developer/Xcode/DerivedData/LocationSimulator-bwxqyloisrlynweqtjwmjhvkkmmy/Build/Products/Release/LocationSimulator.app/Contents/MacOS/LocationSimulator
  Reason: no suitable image found.  Did find:
	/usr/local/opt/[email protected]/lib/libssl.1.1.dylib: code signature in (/usr/local/opt/[email protected]/lib/libssl.1.1.dylib) not valid for use in process using Library Validation: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed.
	/usr/local/Cellar/[email protected]/1.1.1g/lib/libssl.1.1.dylib: code signature in (/usr/local/Cellar/[email protected]/1.1.1g/lib/libssl.1.1.dylib) not valid for use in process using Library Validation: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed.
(lldb) 

[Feature] Add AppleScript support

Allow the application to be controller via AppleScript. It should provide an abstraction for devices (or at least the currently selected device) and allow navigation, teleportation to a specific location. The menu items should be exposed to AppleScript as well.

App does not start

Hello, thanks for the detailed installation guide. I was able to compile the program. However, the app doesn't start with the following error:

Process: LocationSimulator [64045]
Path: /Users/USER/Library/Developer/Xcode/DerivedData/LocationSimulator-edkfbvokichndiawkcsertmgvvgg/Build/Products/Release/LocationSimulator.app/Contents/MacOS/LocationSimulator
Identifier: com.schlaubi.LocationSimulator
Version: 0.1.0 (1)
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: LocationSimulator [64045]
User ID: 501

Date/Time: 2020-04-15 09:22:05.721 +0200
OS Version: Mac OS X 10.15.4 (19E287)
Report Version: 12
Bridge OS Version: 4.4 (17P4281)
Anonymous UUID: 8294B0A3-85FD-C294-A4D1-4E35FD1F3AAF

Sleep/Wake UUID: 9E8B8402-DE1D-466A-98B0-0DAC88DA4464

Time Awake Since Boot: 21000 seconds
Time Since Wake: 6100 seconds

System Integrity Protection: enabled

Crashed Thread: 0

Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY

Termination Reason: DYLD, [0x5] Code Signature

Application Specific Information:
dyld: launch, loading dependent libraries

Dyld Error Message:
Library not loaded: /usr/local/opt/libimobiledevice/lib/libimobiledevice.6.dylib
Referenced from: /Users/USER/Library/Developer/Xcode/DerivedData/LocationSimulator-edkfbvokichndiawkcsertmgvvgg/Build/Products/Release/LocationSimulator.app/Contents/MacOS/LocationSimulator
Reason: no suitable image found. Did find:
/usr/local/opt/libimobiledevice/lib/libimobiledevice.6.dylib: code signature in (/usr/local/opt/libimobiledevice/lib/libimobiledevice.6.dylib) not valid for use in process using Library Validation: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed.
/usr/local/opt/libimobiledevice/lib/libimobiledevice.6.dylib: stat() failed with errno=1
/usr/local/lib/libimobiledevice.6.dylib: code signature in (/usr/local/lib/libimobiledevice.6.dylib) not valid for use in process using Library Validation: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed.
/usr/local/Cellar/libimobiledevice/HEAD-cf5a60d_6/lib/libimobiledevice.6.dylib:

Binary Images:
0x100211000 - 0x100247ff7 +com.schlaubi.LocationSimulator (0.1.0 - 1) /Users/USER/Library/Developer/Xcode/DerivedData/LocationSimulator-edkfbvokichndiawkcsertmgvvgg/Build/Products/Release/LocationSimulator.app/Contents/MacOS/LocationSimulator
0x10380e000 - 0x10389feff dyld (750.5) <1F893B81-89A5-3502-8510-95B97B9F730D> /usr/lib/dyld

Model: MacBookPro15,1, BootROM 1037.100.362.0.0 (iBridge: 17.16.14281.0.0,0), 6 processors, 6-Core Intel Core i7, 2,6 GHz, 16 GB, SMC
Graphics: kHW_IntelUHDGraphics630Item, Intel UHD Graphics 630, spdisplays_builtin
Graphics: kHW_AMDRadeonPro555XItem, Radeon Pro 555X, spdisplays_pcie_device, 4 GB
Memory Module: BANK 0/ChannelA-DIMM0, 8 GB, DDR4, 2400 MHz, SK Hynix, -
Memory Module: BANK 2/ChannelB-DIMM0, 8 GB, DDR4, 2400 MHz, SK Hynix, -
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x7BF), wl0: Feb 28 2020 15:24:56 version 9.30.357.35.32.5.47 FWID 01-9ce4adf3
Bluetooth: Version 7.0.4f6, 3 services, 27 devices, 1 incoming serial ports
Network Service: Wi-Fi, AirPort, en0
USB Device: USB 3.1 Bus
USB Device: Apple T2 Bus
USB Device: Touch Bar Backlight
USB Device: Touch Bar Display
USB Device: Apple Internal Keyboard / Trackpad
USB Device: Headset
USB Device: Ambient Light Sensor
USB Device: FaceTime HD Camera (Built-in)
USB Device: Apple T2 Controller
Thunderbolt Bus: MacBook Pro, Apple Inc., 47.4
Thunderbolt Bus: MacBook Pro, Apple Inc., 47.4

[Feature - Discussion] Restore state

Allow changing the device without loosing the spoofed location.

Proposed solution:
When changing the currently selected device save all information about the current state to memory (maybe by making MapViewController codable?). Pause the location spoofing. When swichting back restore the state. The state might include information about toolbar buttons as well. It might be useful to move the device selection to a sidebar.

Swift Compile Error: 'libimobiledevice/libimobiledevice.h' file not found

Can you help me debug this issue? I'm not familiar with linking libraries like this and can't figure out where things are going wrong.

Here's what I have done so far:

  • Installed the 4 packages via Homebrew to resolve the 5 dependencies: libimobiledevice, libplist, openssl, usbmuxd
  • Under the LocationSimulator target > General, I removed all the existing Linked Libraries and Frameworks, and dragged and dropped these 5 dylibs in there
  • Then removed all in Embedded Binaries and linked the same 5 in there from my project's Frameworks folder (which is also confusing, there isn't a physical Frameworks folder in my file system, but there is one in XCode?)
  • Finally I did the same in Build Phases > Link Binary with Libraries per your instructions in the other issue here

I still get this error on compile.

Is there something else I can do to check if the other libraries are linking correctly? To see if the issue is isolated to this particular library.

Thanks for your time

Homebrew cask formula

I'm not familiar with ruby and furthermore not with homebrew casks. At the moment I don't have the time to look into this. So if anybody reads this and is experienced with homebrew cask it would be create if you could create one.

The plan is to build the app using the homebrew scheme. This scheme will exclude all dynamic libraries from the build. These libraries should be added as a dependency inside the cask formula, so that only the latest release build from GitHub needs to be downloaded by the formula. The formula should also remove LocationSimulators Application Support folder when the app is uninstalled.

@craigcoles because you are the only person who ever contributed, I'm tagging you. Maybe you know more about this stuff or know somebody who knows how to do this.

Build error

Undefined symbols for architecture x86_64:
"_idevice_new_with_options", referenced from:
_developerImageIsMountedForDevice in deviceimagemounter.o
_mountImageForDevice in deviceimagemounter.o
_pairDevice in devicepair.o
_resetLocation in devicelocation.o
_sendLocation in devicelocation.o
_deviceProductVersion in deviceinfo.o
_deviceName in deviceinfo.o
...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

I've linked the latest libraries as well, used brew install --HEAD

[Feature] Return to starting location

It could be as simple as a circular arrow icon โ†ป next to the walking controls. When it's highlighted, you would auto retrace your steps backward.

Device randomly disconnects

I really like the sleek design and user friendliness of the app.
The routing tools are phenomenal.

I have just a problem with the app, its losing it's position every two minutes.
And I cant chose a new one without unplugging the cable and plugging it back in.

I'm using the Big Sur beta, if that's making any difference.

Aditionally the search feature seems broken, because the app becomes unresponsive after typing one letter into the search bar.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.