是否可以直接从命令行在iOS设备上运行react-native应用程序,就像我们在模拟器上一样react-native run ios --simulator "iPhone 5s"
?
Kam*_*rna 164
以下为我工作(测试反应原生0.38
和0.40
):
npm install -g ios-deploy
# Run on a connected device, e.g. Max's iPhone:
react-native run-ios --device "Max's iPhone"
Run Code Online (Sandbox Code Playgroud)
这是根据fb执行此操作的正确方法.如果您尝试仅运行run-ios命令,您会发现脚本建议您在构建之后安装步骤npm install -g ios-deploy.
虽然关于各种命令的文档反应原生提供有点粗略,但值得做,因为他们建议并进入查看react-native/local-cli.在那里,您可以看到所有可用的命令和它们运行的代码 - 您可以找出哪些开关可用于未记录的命令.
小智 24
在项目根目录下运行此命令。
1>. 找到连接的真实设备和模拟器的 iPhone 设备列表。与 android 的 adb devices 命令一样。
xcrun instruments -s devices
Run Code Online (Sandbox Code Playgroud)
2>。使用此命令选择要运行应用程序的设备
使用设备名称
react-native run-ios --device "Kool's iPhone"
Run Code Online (Sandbox Code Playgroud)
使用 UDID
react-native run-ios --udid 0412e2c2******51699
Run Code Online (Sandbox Code Playgroud)
等待并观察在特定设备上运行您的应用程序 - K00L ;)
jas*_*ard 21
npm install -g ios-deploy
Run Code Online (Sandbox Code Playgroud)
react-native run-ios --device "______\'s iPhone"
Run Code Online (Sandbox Code Playgroud)
Found Xcode project ________.xcodeproj
Could not find device with the name: "_______'s iPhone".
Choose one of the following:
______’s iPhone Udid: _________
Run Code Online (Sandbox Code Playgroud)
react-native run-ios --device --udid 0412e2c230a14e23451699
Run Code Online (Sandbox Code Playgroud)
react-native run-ios --device --udid 0412e2c230a14e23451699 -- configuration Release
Run Code Online (Sandbox Code Playgroud)
如果您ios-deploy@x.x.x preinstall: ./src/scripts/check_reqs.js && xcodebuild ...
使用npm install -g ios-deploy
尝试这个。这个对我有用:
sudo npm uninstall -g ios-deploy
brew install ios-deploy
实际上,对于第一次构建,请使用 Xcode 进行构建,然后执行以下操作:
brew install ios-deploy
npx react-native run-ios --device
第二个命令将在第一个连接的设备上运行该应用程序。
只是想在 Kamil 的回答中添加一些内容
按照步骤操作后还是报错
错误找不到名称为“....'s Xr”的设备
从设备名称中删除特殊字符后(转到Settings -> General -> About -> Name)
例如:'
有效 !
希望这会帮助遇到类似问题的人。
测试- react-native-cli: 2.0.1 | 反应原生:0.59.8 | VSCode 1.32 | Xcode 10.2.1 | iOS 12.3
小智 5
让我的工作
react-native run-ios --device="My’s iPhone"
Run Code Online (Sandbox Code Playgroud)
并注意您的 iphone 名称,撇号 ' 可能不同。我正在使用这个'