Schlaubischlump / LocationSimulator

MacOS application to spoof / fake / mock your iOS / iPadOS or iPhoneSimulator device location. WatchOS and TvOS are partially supported.
https://schlaubischlump.github.io/LocationSimulator/
GNU General Public License v3.0
2.39k stars 184 forks source link

[BUG] - Undefined symbols #93

Closed Eirias closed 2 years ago

Eirias commented 2 years ago

Describe the bug The latest version can't be used with MacOS 11.6 (20G165) and Xcode Version 13.0 (13A233). If i try try run the app it fails with error:

Directory not found for option '-L/usr/local/Cellar/openssl@1.1/1.1.1i/lib'
Directory not found for option '-L/opt/homebrew/Cellar/libplist/2.2.0/lib'
Directory not found for option '-L/opt/homebrew/Cellar/libusbmuxd/2.0.2/lib'
Directory not found for option '-L/opt/homebrew/Cellar/libimobiledevice/1.3.0/lib'
Directory not found for option '-L/opt/homebrew/Cellar/openssl@1.1/1.1.1i/lib'
Ignoring file /usr/local/Cellar/libplist/2.2.0/lib/libplist-2.0.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64

Ignoring file /usr/local/Cellar/libimobiledevice/1.3.0/lib/libimobiledevice-1.0.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64

Undefined symbol: _afc_client_free
Undefined symbol: _afc_client_new
Undefined symbol: _afc_file_close
Undefined symbol: _afc_file_open
Undefined symbol: _afc_file_write
Undefined symbol: _afc_get_file_info
Undefined symbol: _afc_make_directory
Undefined symbol: _idevice_event_subscribe
Undefined symbol: _idevice_event_unsubscribe
Undefined symbol: _idevice_free
Undefined symbol: _idevice_new_with_options
Undefined symbol: _lockdownd_client_free
Undefined symbol: _lockdownd_client_new
Undefined symbol: _lockdownd_client_new_with_handshake
Undefined symbol: _lockdownd_get_device_name
Undefined symbol: _lockdownd_get_value
Undefined symbol: _lockdownd_service_descriptor_free
Undefined symbol: _lockdownd_start_service
Undefined symbol: _mobile_image_mounter_free
Undefined symbol: _mobile_image_mounter_hangup
Undefined symbol: _mobile_image_mounter_lookup_image
Undefined symbol: _mobile_image_mounter_mount_image
Undefined symbol: _mobile_image_mounter_new
Undefined symbol: _mobile_image_mounter_upload_image
Undefined symbol: _plist_array_get_size
Undefined symbol: _plist_dict_new_iter
Undefined symbol: _plist_dict_next_item
Undefined symbol: _plist_free
Undefined symbol: _plist_get_node_type
Undefined symbol: _plist_get_string_val
Undefined symbol: _service_client_free
Undefined symbol: _service_client_new
Undefined symbol: _service_send

To Reproduce Steps to reproduce the behavior:

  1. Pull latest version from git
  2. Open Project in Xcode
  3. Run the Project
  4. See error

Expected behavior The app should start.

Screenshots

bug decription_screenshot

Desktop (please complete the following information):

Smartphone (please complete the following information):

Eirias commented 2 years ago

I just found the solution here.

I solve problem by adding "arm64" in "Excluded Architectures" for both project target and pod target.
Xcode -> Target Project -> Build Setting -> Excluded Architectures > "arm64"
Xcode -> Pod Target -> Build Setting -> Excluded Architectures > "arm64"
Schlaubischlump commented 2 years ago

Thanks for the feedback. I will add arm64 support, when homebrew includes an arm64 libimobiledevice build. For now x86-64 is the only supported architecture. In theory there is nothing, that stops the compilation on arm64, except for libimobiledevice. I'm not sure why Xcode suddenly complains. I thought it was enough to just not include arm64 in the supported architecture flags.