直接从命令行在 iOS 设备上运行本机应用程序?

有没有可能在 iOS 设备上直接从命令行运行本机应用程序,就像我们在使用 react-native run ios --simulator "iPhone 5s"的模拟器上所做的那样?

200845 次浏览

以下方法对我有效(测试反应原生 0.380.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-ios,您将看到脚本建议在构建后到达安装步骤时执行 npm install -g ios-deploy

虽然关于本地提供的各种命令的文档有些粗略,但是值得使用 本地反应/本地反应。在那里,您可以看到所有可用的命令和它们运行的代码-因此您可以计算出哪些开关可用于未记录的命令。

首先在计算机上全局安装所需的库:

npm install -g ios-deploy

进入你的 iPhone 设置,找到设备的名称。

然后提供如下:

react-native run-ios --device "______\'s iPhone"

有时候这会失败,输出如下消息:

Found Xcode project ________.xcodeproj
Could not find device with the name: "_______'s iPhone".
Choose one of the following:
______’s iPhone Udid: _________

Udid 是这样使用的:

react-native run-ios --udid 0412e2c230a14e23451699

你可选择使用:

react-native run-ios --udid 0412e2c230a14e23451699 -- configuration Release

只是想给卡米尔的回答加点料

按照这些步骤后,我仍然得到了一个错误,

无法找到名称为“ ... . 的 Xr”的设备

从设备名称中删除特殊字符后(转到 设置-> 一般-> 关于-> 名称)

例句: '

成功了!

希望这能帮助那些面临类似问题的人。

-测试 反应-原生-cli: 2.0.1 | 本地反应: 0.59.8 | VSCode 1.32 | Xcode 10.2.1 | < em > iOS 12.3

如果使用 npm install -g ios-deploy得到此错误 ios-deploy@x.x.x preinstall: ./src/scripts/check_reqs.js && xcodebuild ...

试试这个,对我很有效:

  1. sudo npm uninstall -g ios-deploy
  2. brew install ios-deploy

在项目根目录中运行此命令。

1 >.找到已连接的 Real Device 和 Simulator 的 iPhone 设备列表 。与 android 的 adb 设备命令相同。

xcrun xctrace list devices

或者

xcrun instruments -s devices

使用这个命令选择要运行应用程序的设备

使用设备名称

react-native run-ios --device "Kool's iPhone"

使用 UDID

react-native run-ios --udid 0412e2c2******51699

等待和观察在特定设备上运行你的应用程序-K00L;)

实际上,对于第一次构建,请使用 Xcode 完成,然后按照以下方法进行:

  1. brew install ios-deploy
  2. npx react-native run-ios --device

第二个命令将在 首先连接的设备上运行应用程序。

让我的工作与

react-native run-ios --device="My’s iPhone"

注意你的 iphone 名字,撇号’可能不一样,我的用的是这个

用于在特定的 ios 设备上运行

yarn ios --simulator "iPhone 8" if you are using yarn or
npx react-native run-ios --simulator="iPhone SE (1st generation)"

为了自动化任何物理设备,您可以尝试使用:

npx react-native run-ios --device=$(xcrun instruments -s devices | grep -v '(Simulator)' | tail -1 | sed 's/ (.*//')

注意: 这将使用 xcrun 中列出的最后一个未列为模拟器的设备。设备名称从 xcrun Instruments 字符串中解析,该字符串拉出第一个 (之前出现的所有字符。

如果您只有一个苹果设备插入,并且它的名称不包括 (,那么这个工作方式很好。

否则,你可能只想跑:

xcrun instruments -s devices

选择您的设备(最高版本是您应该使用的设备名称)。

然后跑:

npx react-native run-ios --device='yourDeviceName'

我也有同样的问题。命令 npx run-ios,然后选择在 设置-> 一般-> 关于-> 名称中重命名设备名后工作的 Physical Device。我只用没有空格和特殊符号的字母来命名。

我的问题是设备在 Xcode 13中被识别出来了,但是在 run 命令时在设备列表中找不到它

列表设备

但是在升级到 Xcode 13.4.1之后,我可以在设备列表中看到该设备

然后,我遵循了前面文章中提到的第一个安装 ios 部署包

纱线全局添加 ios-部署

拿到你的设备 ID

列表设备

然后

反应本地 run-ios —— udid“ your device id”