Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simulators not available #5628

Open
MathildeDion opened this issue May 29, 2024 · 9 comments
Open

Simulators not available #5628

MathildeDion opened this issue May 29, 2024 · 9 comments

Comments

@MathildeDion
Copy link

Hey,
I am trying to start using Flipper but can't connect my iOS simulators.
I installed idb in a virtual environment.

Idb gives me this list:

idb list-targets

iPad (10th generation) | 33B02403-1B13-45E1-ADCD-EDB276B218FC | Shutdown | simulator | iOS 17.2 | x86_64 | No Companion Connected
iPad (10th generation) | DCE88753-B0EF-446C-BC1B-A3C88A12A3B9 | Shutdown | simulator | iOS 17.5 | x86_64 | No Companion Connected
iPad Air (5th generation) | FD301739-B84D-422A-A0CB-833D8BA86073 | Shutdown | simulator | iOS 17.2 | x86_64 | No Companion Connected
iPad Air 11-inch (M2) | 45BAAA91-F935-471A-9BFF-D9FB6072D89B | Shutdown | simulator | iOS 17.5 | x86_64 | No Companion Connected
iPad Air 13-inch (M2) | CF02BB83-2BA8-4190-A772-9D56F173D1F7 | Shutdown | simulator | iOS 17.5 | x86_64 | No Companion Connected
iPad Pro (11-inch) (4th generation) | 918EB473-6867-4504-AEB8-30901F114C8E | Shutdown | simulator | iOS 17.2 | x86_64 | No Companion Connected
iPad Pro (12.9-inch) (6th generation) | 276DAC7B-9313-4B39-9DAF-E5F0A5C3E16F | Shutdown | simulator | iOS 17.2 | x86_64 | No Companion Connected
iPad Pro 11-inch (M4) | 28B5F336-2B26-4AEE-AC0C-6D8621BDA543 | Shutdown | simulator | iOS 17.5 | x86_64 | No Companion Connected
iPad Pro 13-inch (M4) | 9A010017-3A15-4DD0-92C0-61CF7AE9CD18 | Shutdown | simulator | iOS 17.5 | x86_64 | No Companion Connected
iPad mini (6th generation) | 4DDCE2D9-081D-4B5D-8995-431B535857D2 | Shutdown | simulator | iOS 17.2 | x86_64 | No Companion Connected
iPad mini (6th generation) | 7BC78DF2-576D-479A-88A1-A32FC8C63470 | Shutdown | simulator | iOS 17.5 | x86_64 | No Companion Connected
iPhone 15 | A63A58FA-5355-4F62-B4A5-AC5B6E066972 | Booted | simulator | iOS 17.2 | x86_64 | No Companion Connected
iPhone 15 | 501FC0F0-7401-4217-B7E8-3614E7F4978E | Shutdown | simulator | iOS 17.5 | x86_64 | No Companion Connected
iPhone 15 Plus | 6E4A5B3A-180E-4DD5-AE84-EDE76762A13B | Shutdown | simulator | iOS 17.2 | x86_64 | No Companion Connected
iPhone 15 Plus | FBF4D829-6E11-43BD-8D36-38528E002E4A | Shutdown | simulator | iOS 17.5 | x86_64 | No Companion Connected
iPhone 15 Pro | FEA08C17-A178-40E3-B80F-03BE1A7A6599 | Shutdown | simulator | iOS 17.2 | x86_64 | No Companion Connected
iPhone 15 Pro | 5F577771-7C55-41DD-897A-1F8CCD2F15B9 | Shutdown | simulator | iOS 17.5 | x86_64 | No Companion Connected
iPhone 15 Pro Max | CCA2CEA3-92E4-48BE-A9A4-08A801B75B50 | Shutdown | simulator | iOS 17.2 | x86_64 | No Companion Connected
iPhone 15 Pro Max | 3FBCC6B3-5381-40CD-98E8-AF28DB074F40 | Shutdown | simulator | iOS 17.5 | x86_64 | No Companion Connected
iPhone SE (3rd generation) | 948F43C7-601B-417F-8274-22AECAB37E87 | Shutdown | simulator | iOS 17.2 | x86_64 | No Companion Connected
iPhone SE (3rd generation) | 1E4B420D-6A7F-4B56-968B-51BAE1CF2564 | Shutdown | simulator | iOS 17.5 | x86_64 | No Companion Connected

But apparently none of the is available on Flipper ?

Command to list devices failed, make sure idb is installed.
Command "/opt/homebrew/opt/idb-companion/bin/idb_companion list-targets --json" failed to execute with output: Command failed: /opt/homebrew/opt/idb-companion/bin/idb_companion list-targets --json
IDB Companion Built at Aug 12 2022 08:41:50
IDB Companion architecture arm64
Invoked with args=[/opt/homebrew/opt/idb-companion/bin/idb_companion, list-targets, --json] env={ANDROID_HOME => /opt/android_sdk, SSH_AUTH_SOCK => /private/tmp/com.apple.launchd.iUG8RusR1h/Listeners, EXTENSION_KIT_EXTENSION_TYPE => 2, XPC_FLAGS => 0x0, PWD => /Applications/Flipper.app/Contents/Resources/server, SHELL => /bin/zsh, __CFBundleIdentifier => com.facebook.flipper.server, MallocSpaceEfficient => 1, ANDROID_SDK_ROOT => /opt/android_sdk, PATH => /opt/android_sdk/emulator:/opt/android_sdk/tools:/opt/android_sdk/platform-tools:/opt/homebrew/opt/idb-companion/bin/idb_companion:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin, MallocNanoZone => 1, SHLVL => 2, COMMAND_MODE => unix2003, _ => /opt/homebrew/opt/idb-companion/bin/idb_companion, HOME => /Users/mathildedion, TMPDIR => /var/folders/72/cdfwty9x1hbbklfdtbmtnwy80000gn/T/, USER => mathildedion, XPC_SERVICE_NAME => 0, LOGNAME => mathildedion, __CF_USER_TEXT_ENCODING => 0x1F5:0x0:0x1}
You must specify at least one 'Mode of operation'

Usage: 
   Modes of operation, only one of these may be specified:
    --udid UDID|mac|only       Launches a companion server for the specified UDID, 'mac' for a mac companion, or 'only' to run a companion for the only simulator/device available.
    --boot UDID                Boots the simulator with the specified UDID.
    --reboot UDID              Reboots the target with the specified UDID.
    --shutdown UDID            Shuts down the target with the specified UDID.
    --erase UDID               Erases the target with the specified UDID.
    --clean UDID               Performs a soft reset to the specified UDID.
    --delete UDID|all          Deletes the simulator with the specified UDID, or 'all' to delete all simulators in the set.
    --create VALUE             Creates a simulator using the VALUE argument like "iPhone X,iOS 12.4"
    --clone UDID               Clones a simulator by a given UDID
    --clone-destination-set    A path to the destination device set in a clone operation, --device-set-path specifies the source simulator.
    --recover ecid:ECID        Causes the targeted device ECID to enter recovery mode
    --unrecover ecid:ECID      Causes the targeted device ECID to exit recovery mode
    --activate ecid:ECID       Causes the device to activate
    --notify PATH|stdout       Launches a companion notifier which will stream availability updates to the specified path, or stdout.
    --forward UDID:PORT        Forwards the remote socket for the specified UDID to the specified remote PORT. Input and output is relayed via stdin/stdout
    --list 1                   Lists all available devices and simulators in the current context. If Xcode is not correctly installed, only devices will be listed.
    --version                  Writes companion version information to stdout.
    --help                     Show this help message and exit.

  Options:
    --grpc-port PORT           Port to start the grpc companion server on (default: 10882).
    --tls-cert-path PATH       If specified exposed GRPC server will be listening on a TLS enabled socket.
    --grpc-domain-sock PATH    Unix Domain Socket path to start the companion server on, will superceed TCP binding via --grpc-port.
    --debug-port PORT          Port to connect debugger on (default: 10881).
    --log-file-path PATH       Path to write a log file to e.g ./output.log (default: logs to stdErr).
    --log-level info|debug     The log level to use, 'debug' for a higher level of debugging 'info' for a lower level of logging (default 'debug').
    --device-set-path PATH     Path to a custom Simulator device set.
    --only FILTER_OPTION       If provided, will limit interaction to a subset of all available targets
    --headless VALUE           If VALUE is a true value, the Simulator boot's lifecycle will be tied to the lifecycle of this invocation.
    --verify-booted VALUE      If VALUE is a true value, will verify that the Simulator is in a known-booted state before --boot completes. Default is true.
    --terminate-offline VALUE  Terminate if the target goes offline, otherwise the companion will stay alive.

 Filter Options:
    simulator                  Limit interactions to Simulators only.
    device                     Limit interactions to Devices only.
    ecid:ECID                  Limit interactions to a specific Device ECID
@Kureev
Copy link

Kureev commented May 31, 2024

Same here. Happy to help in any way

@antonk52
Copy link
Contributor

Hello. Can you please expand on what is meant by "virtual environment"?

Flipper requires idb and idb-companion available in $PATH to work with ios devices.

@thomasamaddeo-genie
Copy link

thomasamaddeo-genie commented Jul 3, 2024

Same for me.
Running idb list-targets works and lists emulators.
Python was installed via mac installer and it added /Library/Frameworks/Python.framework/Versions/3.12/bin to $PATH in my .zprofile file.
idb and idb-companion were installed as per instructions here

image image

With that said though, Flipper seems to be working fine (connecting to the app, showing logs etc) so just a "bug" with setup doctor itself maybe?

@summerkiflain
Copy link

I think by I installed idb in a virtual environment. she meant it she used .venv of python to install idb. I also installed idb using below commands:

`brew tap facebook/fb`
`brew install idb-companion`
`mkdir ~/.venv`
`python3 -m venv ~/.venv`
`source ~/.venv/bin/activate`
`python3 -m pip install fb-idb`

and now Flipper is showing green tick in front of IDB Installed like above picture but Simulators are available is red cross for me too, same like above picture.

I am on Macbook M3 Pro, Python came with homebrew when I installed, I think.

@absqueued
Copy link

I had the same issue. I read through the error in setup wizard and noticed the following:

...
"/opt/homebrew/Cellar/python@3.12/3.12.4/Frameworks/Python.framework/Versions/3.12/lib/python3.12/subprocess.py", line 1955, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/usr/local/bin/idb_companion'

Notice: No such file or directory: '/usr/local/bin/idb_companion'

I installed it via homebrew so my idb_companion, so I ran which idb_companion and found out the right path was: /opt/homebrew/bin/idb_companion.

I created the symlink between two paths. I ran:

sudo ln -s /opt/homebrew/bin/idb_companion /usr/local/bin/idb_companion

And now the ios simulators show up in Flipper. Hope this helps others!

@antonk52
Copy link
Contributor

Thanks for sharing. Flipper checks idb_companion by running which idb_companion. Is /opt/homebrew/bin present in your $PATH?

const hasIdbCompanion = await tryExecuteCommand(
'which idb_companion',
);

@carneiror
Copy link

Thanks for sharing. Flipper checks idb_companion by running which idb_companion. Is /opt/homebrew/bin present in your $PATH?

const hasIdbCompanion = await tryExecuteCommand(
'which idb_companion',
);

I have the same issue and I have my homebrew custom path on my $PATH env

@jiyuan12354
Copy link

I had the same issue. I read through the error in setup wizard and noticed the following:

...
"/opt/homebrew/Cellar/python@3.12/3.12.4/Frameworks/Python.framework/Versions/3.12/lib/python3.12/subprocess.py", line 1955, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/usr/local/bin/idb_companion'

Notice: No such file or directory: '/usr/local/bin/idb_companion'

I installed it via homebrew so my idb_companion, so I ran which idb_companion and found out the right path was: /opt/homebrew/bin/idb_companion.

I created the symlink between two paths. I ran:

sudo ln -s /opt/homebrew/bin/idb_companion /usr/local/bin/idb_companion

And now the ios simulators show up in Flipper. Hope this helps others!

This is work!!!
Big thanks

@israel-dv
Copy link

Same for me. Running idb list-targets works and lists emulators. Python was installed via mac installer and it added /Library/Frameworks/Python.framework/Versions/3.12/bin to $PATH in my .zprofile file. idb and idb-companion were installed as per instructions here

image image
With that said though, Flipper seems to be working fine (connecting to the app, showing logs etc) so just a "bug" with setup doctor itself maybe?

The error for me was like this, I just created a symlink like this:

sudo ln -s /Library/Frameworks/Python.framework/Versions/3.12/bin/idb /usr/local/bin/idb

Then I add /usr/local/bin/idb path to Flipper. It works for me 🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants