我下载了最近发布的Xcode 11版本,现在我无法在模拟器上运行React-Native应用程序。我知道有关堆栈溢出的一些问题,但是它们没有帮助。问题是没有node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js
文件。
在该local-cli
文件夹中只有一个文件名为cli.js
的文件
经过一番查看,最终得出结论,实际上是没有iPhone X
单独运行模拟器,在顶部菜单中,在“硬件,设备,iOS 13.0”下查看。
您将看到:
iPhone 8
iPhone 8 Plus
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
和一些iPad
当您执行run-ios
时,react-native
旨在匹配请求的设备。
内部硬编码默认值为iPhoneX。
尝试匹配请求的设备的函数在:
/node_modules/@react-native-community/cli-platform-ios/build/commands/runIOS/findMatchingSimulator.js
设计此功能是为了使您可以为其提供设备和可选的版本号。
如果找不到给定的设备和版本,则默认情况下它将使用列表中的第一个设备返回匹配项。
如上所述,首先自己运行模拟器,并记下所需的iPhone或iPad。
然后将此名称作为可选参数传递给run-ios命令行命令,如下所示:
react-native run-ios --simulator="iPhone 8"