是否可以像在模拟器上使用react-native run ios --simulator "iPhone 5s"
一样,直接从命令行运行React Native应用程序在iOS设备上运行?
是否可以像在模拟器上使用react-native run ios --simulator "iPhone 5s"
一样,直接从命令行运行React Native应用程序在iOS设备上运行?
以下方法对我起作用了(在React Native 0.38
和0.40
版本上测试通过):
npm install -g ios-deploy
# Run on a connected device, e.g. Max’s iPhone:
npx react-native run-ios --device "Max’s iPhone"
如果你尝试运行run-ios
,你会发现脚本在构建后到达安装步骤时建议执行npm install -g ios-deploy
。npm install -g ios-deploy
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: _________
react-native run-ios --udid 0412e2c230a14e23451699
react-native run-ios --udid 0412e2c230a14e23451699 -- configuration Release
sudo npm install -g ios-deploy --unsafe-perm=true
运行良好。 - Jay Mayuios-deploy -c
是如何工作的?它不是一个命令行工具吗?是不是应该使用 yarn/npm ios-deploy -c
或者其他什么命令?因为这个好像也不起作用。 - Sam请在项目根目录下运行此命令。
1>. iPhone设备列表用于查找连接的真实设备和仿真器。类似于Android的adb devices命令。
xcrun xctrace list devices
或者
xcrun instruments -s devices
2>. 使用此命令选择您想要在其上运行应用程序的设备
使用设备名称
react-native run-ios --device "Kool's iPhone"
使用UDID
react-native run-ios --udid 0412e2c2******51699
等待并观察在特定设备上运行您的应用程序 - K00L ;)
device
和udid
选项是互斥的”。 - aksyumaxctrace list devices
代替xcrun instruments -s devices
。 - Nirnay Kulshreshthaxcrun xctrace list devices
。 - Jay Koutavas实际上,对于第一个构建,请使用Xcode进行操作,然后按照以下方式进行操作:
brew install ios-deploy
npx react-native run-ios --device
第二个命令将在第一个连接的设备上运行应用程序。
只是想在Kamil的回答中补充一些内容
按照步骤操作后,我仍然遇到了错误:
错误:找不到名称为“....'s Xr”的设备
从设备名称中删除特殊字符(转到设置 -> 通用 -> 关于本机 -> 名称)
例如:'
它奏效了!
希望这对那些遇到类似问题的人有所帮助。
测试环境 - react-native-cli: 2.0.1 | react-native: 0.59.8 | VSCode 1.32 | Xcode 10.2.1 | iOS 12.3
如果你在使用npm install -g ios-deploy
时出现ios-deploy@x.x.x preinstall: ./src/scripts/check_reqs.js && xcodebuild ...
的错误,请试一下以下方法,这对我有效:
sudo npm uninstall -g ios-deploy
brew install ios-deploy
我用以下方法解决了问题:
react-native run-ios --device="My’s iPhone"
请注意,您的 iPhone 名称中的撇号可能不同。我的使用的是这个’
npx run-ios
,然后选择物理设备
即可解决问题。我使用的名称只包含字母,没有空格和特殊符号。为了自动化处理任何物理设备,您可以尝试使用以下方法:
npx react-native run-ios --device=$(xcrun instruments -s devices | grep -v '(Simulator)' | tail -1 | sed 's/ (.*//')
(
之前出现的所有字符。 (
,则此方法可行。xcrun instruments -s devices
选择您的设备(版本号即为您应该使用的设备名称)。
然后运行:
npx react-native run-ios --device='yourDeviceName'
sudo xcode-select -s /Applications/Xcode-beta.app
(假设你已经安装了正确的Xcode测试版应用程序)。 - paulvsreact-native run-ios --device
命令即可,上述命令无效。 - nareknpm install -g ios-deploy
之后出现错误,请尝试运行sudo npm install -g ios-deploy --unsafe-perm=true --allow-root
。 - Eric Wienerreact-native run-ios --udid XXXX --configuration Release
。 - Gürol Canbek** INSTALLATION SUCCEEDED **
但是没有任何反应......设备已经正确连接并被 Xcode 所识别。尝试了主要答案和评论中提到的react-native run-ios --device
,结果都相同。 - Blue Bot