expo-cli
expo-cli copied to clipboard
expo run:ios cannot install on physical device
Summary
running expo run:ios. works great in simulators. cannot get an install on a physical device. same device has no issues being recognized as part of the project when using any EAS cli commands. have run through the eas credentials and see the UDID as well.
Environment
expo-env-info 1.0.2 environment info: System: OS: macOS 12.3.1 Shell: 5.8 - /bin/zsh Binaries: Node: 16.14.2 - ~/.nvm/versions/node/v16.14.2/bin/node Yarn: 3.2.0 - ~/.nvm/versions/node/v16.14.2/bin/yarn npm: 8.7.0 - ~/.nvm/versions/node/v16.14.2/bin/npm Managers: CocoaPods: 1.11.3 - /opt/homebrew/bin/pod SDKs: iOS SDK: Platforms: DriverKit 21.0.1, iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0 IDEs: Xcode: 13.1/13A1030d - /usr/bin/xcodebuild npmPackages: babel-preset-expo: 9.0.2 => 9.0.2 expo: ^44.0.0 => 44.0.6 react: 17.0.1 => 17.0.1 react-dom: 17.0.1 => 17.0.1 react-native: 0.64.3 => 0.64.3 react-native-web: 0.17.1 => 0.17.1 npmGlobalPackages: eas-cli: 0.51.0 expo-cli: 5.3.2 Expo Workflow: managed
Please specify your device/emulator/simulator platform, model and version
iphone XR ios 15.4.1
Error output
Capabilities for Signing & Capabilities may not function correctly because its entitlements use a placeholder team ID. To resolve this, select a development team in the smrtrlifebeta editor. (in target 'smrtrlifebeta' from project 'smrtrlifebeta')
that warning is shown in the build process...the actual error is then: cannot find device
Reproducible demo or steps to reproduce from a blank project
expo run:ios --device <with UDID of device> output: cannot find device
expo run:ios --device <with no UDID> finding device spins...provides a list of simulators...never provides physical device as an option
I'm having the same issue, I wanted to run on my physical device with the run:ios command but it doesn't recognize it. I ended up running from Xcode directly just make sure you have the dev client running
It worked to me using the following command:
expo run:ios --device 'Fernando’s iPhone'
It worked to me using the following command:
expo run:ios --device 'Fernando’s iPhone'
Be attempted to the " 's " on Fernando’s iPhone... You can use UUID too.
I'm having this issue as well. My device is recognized by the mac finder, xcode, and the fb idb
CLI (idb list-targets
), however the expo-cli doesn't find it, and the cli that runs under the hood (xcrun xctrace list devices
) also doesn't find my device that's plugged in.
Running expo run:ios -d <udid|device name>
doesn't find it either.
Expo-cli: 5.5.1 Xcode & command line tools: 13.4.1 iOS version: 15.5 Phone plugged into an M1 Pro MBP via a usb-c to lightning cable.
I'm also having some build errors when trying to install on the device directly through xcode.
My next move is trying to debug the xcode errors and then updating to iOS 15.6 to see if that resolves things.
Ideally, it seems like we could figure out a way for the expo-cli to use the idb
cli under the hood so that it can find my device and boot my app to it. It seems as though whatever idb
is doing more closely matches what xcode and finder are doing. Which seems strange because I would think the xctrace
command would be the exact same as what xcode is executing.
Let me know if any of you are experiencing the same issue. Thanks.
Rebooted my device. Works now. Recognized by xctrace
and the expo cli when I ran expo run:ios -d <device name>
. Hopefully this helps someone else with the same issue.
In my case it wasn't working because I needed to update XCode (the version I add wasn't able to compile for the latest iOS version)
Hello I am having this problem but turning it off and on again did not solve...
react native version 0.68.2 expo 45 ios 15.6 (iPhone X) xCode 13.2.1
As others, I would recommend running it directly with the device name, but might be helpful to have the device name as a single word without a space or other characters, so try changing it on your iPhone
expo run:ios --device Aron
I have tried doing that with the devices UDID. It cannot be found. xcrun xctrace list devices also does not see the device
What did work for me:
expo run:ios --device
It showed me a list of emulators including my connected device (my connected device had a plug icon before it's name). I selected it then had to install ios-deploy (brew install ios-deploy
) because I was not being able to install my app in my real device without it. I tried expo run:ios --device
again and it finally worked. After installing the build in my phone I just had to run expo start --dev-client
. I also had to specify the URL manually inside the app that was created on my device because expo was not generating the QR code.
Oh, an importante thing: I was not able to test it on a real device until it was connected with an usb cable.
Rebooted my device. Works now. Recognized by
xctrace
and the expo cli when I ranexpo run:ios -d <device name>
. Hopefully this helps someone else with the same issue.
All memes asides, this worked for me! I had an update to both Xcode and macOS available, so installing these and rebooting solved the issue. Device is now detected from expo run:ios --device
Rebooted my device. Works now. Recognized by
xctrace
and the expo cli when I ranexpo run:ios -d <device name>
. Hopefully this helps someone else with the same issue.
After trying everything obviously this worked! :)
just to let everyone know... faced the same issue, I tried different things: rebooted, renamed (removed spaces), but nothing was helped. After I unchecked the option "show this device if it is plugged into Wi-Fi" in the Finder, the build was successful from the first attempt.
more details: when I had run the command expo run:ios --device
it had shown me 2 devices with the same name I had chosen the one with UDID, and then got device is busy
error on the "planning build" stage, I assume that was because of the Wi-Fi flag.
raw error: { platform:iOS, id:00008110-0014###A2E###01E, name:iPhone, error:Device is busy (Preparing the watch for development via iPhone) }
Hey guys, I'm getting the same error.
I'm trying to run the command expo run:ios --device
with the physical device iPhone on windows but it doesn't work any workaround for this issue?
How can I run this command on windows.
This appears to be resolved in the latest, versioned Expo CLI (npx expo run:ios -d
). The device detection was written from scratch to ensure we could properly get devices regardless of how the device name was formatted. There are still some general macOS issues from time when certain versions of iOS cannot be discovered, but we physically cannot detect these devices at all.
If you encounter this issue in the future, please open an issue on expo/expo.