Skip to content

run-ios does not run on simulator by default, presumably because it's trying to run on my iPhone #2254

@swrobel

Description

@swrobel

Environment

info Fetching system and libraries information...
System:
  OS: macOS 14.2.1
  CPU: (10) arm64 Apple M1 Max
  Memory: 602.31 MB / 64.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 20.10.0
    path: /opt/homebrew/bin/node
  Yarn:
    version: 1.22.21
    path: /opt/homebrew/bin/yarn
  npm:
    version: 10.2.3
    path: /opt/homebrew/bin/npm
  Watchman:
    version: 2023.12.04.00
    path: /opt/homebrew/bin/watchman
Managers:
  CocoaPods:
    version: 1.14.3
    path: bin/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 23.2
      - iOS 17.2
      - macOS 14.2
      - tvOS 17.2
      - visionOS 1.0
      - watchOS 10.2
  Android SDK: Not Found
IDEs:
  Android Studio: 2023.1 AI-231.9392.1.2311.11076708
  Xcode:
    version: 15.2/15C500b
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 17.0.9
    path: /usr/bin/javac
  Ruby:
    version: 3.3.0
    path: /opt/homebrew/Cellar/ruby/3.3.0/bin/ruby
npmPackages:
  "@react-native-community/cli": Not Found
  react:
    installed: 18.2.0
    wanted: "18.2"
  react-native:
    installed: 0.73.2
    wanted: 0.73.2
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: false
iOS:
  hermesEnabled: true
  newArchEnabled: false

Description

When running yarn ios, I expect it to run on the current open & running simulator, or to boot and run on an appropriate simulator. In the example shown below, I have the "iPhone SE (3rd generation)" already running, but the result is the same if it isn't running. It seems to try to use ios-deploy to install it onto my iPhone (connected to my computer via wifi only), rather than installing on the simulator.

$ yarn ios
yarn run v1.22.21
$ react-native run-ios
info A dev server is already running for this project on port 8081.
info Found Xcode workspace "MyApp.xcworkspace"
info Found booted Stefan’s Apple Watch, Stefan’s iPhone 15, iPhone SE (3rd generation)
error Failed to install the app on the device because we couldn't execute the "ios-deploy" command. Please install it by running "brew install ios-deploy" and try again.
error Command failed with exit code 1.

I have also tried previously running with --list-devices and choosing the iPhone SE so that it is "sticky," but that doesn't seem to have any impact

$ yarn ios --list-devices
yarn run v1.22.21
$ react-native run-ios --list-devices
info A dev server is already running for this project on port 8081.
info Found Xcode workspace "MyApp.xcworkspace"
? Select the device you want to use › - Use arrow-keys. Return to submit.
❯   Stefan’s Apple Watch
    Stefan’s iPhone 15
    iPhone 15 Plus
    iPad mini (6th generation)
    iPhone 15 Pro Max
    iPhone 15 Pro
    iPhone SE (3rd generation)
    iPad Air (5th generation)
    iPhone 15
  ↓ iPad Pro (11-inch) (4th generation)

Both of these places state that run-ios should open on a Simulator:

Reproducible Demo

I can put together a repro if necessary, but I believe this behavior is tied to the CLI, and not to anything specific to my app's code. As is the case with the default template generated, my package.json under the "scripts" section defines the ios command as such "ios": "react-native run-ios"

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions