执行此命令时:

react-native run-ios

我的应用程序在iPhone6模拟器设备中默认运行:

Found Xcode project RN.xcodeproj
Launching iPhone 6 (9.2)...

如何在默认情况下让应用程序在不同的模拟器设备(如iPhone5s)中运行?


当前回答

对于RN 0.64.2,配置位于node_modules/@react-native-community/cli-platform-ios/build/commands/runIOS/index.js,您可以修改文件中的默认模拟器

其他回答

您可以在~/处创建别名。bash_profile文件:

alias rn-ios="react-native run-ios——模拟器\"iPhone 5s (10.0)\""

然后使用创建的别名运行react-native:

rn-ios美元

你也可以通过在你的包的scripts元素中添加一个条目来使用npm。json文件。如。

"launch-ios": "react-native run-ios --simulator \"iPad Air 2\""

然后使用这个:运行launch-ios

使用此命令获取设备列表

xcrun simctl list devices

控制台

== Devices ==
-- iOS 13.5 --
    iPhone 6s (9981E5A5-48A8-4B48-B203-1C6E73243E83) (Shutdown) 
    iPhone 8 (FC540A6C-F374-4113-9E71-1291790C8C4C) (Shutting Down) 
    iPhone 8 Plus (CAC37462-D873-4EBB-9D71-7C6D0C915C12) (Shutdown) 
    iPhone 11 (347EFE28-9B41-4C1A-A4C3-D99B49300D8B) (Shutting Down) 
    iPhone 11 Pro (5AE964DC-201C-48C9-BFB5-4506E3A0018F) (Shutdown) 
    iPhone 11 Pro Max (48EE985A-39A6-426C-88A4-AA1E4AFA0133) (Shutdown) 
    iPhone SE (2nd generation) (48B78183-AFD7-4832-A80E-AF70844222BA) (Shutdown) 
    iPad Pro (9.7-inch) (2DEF27C4-6A18-4477-AC7F-FB31CCCB3960) (Shutdown) 
    iPad (7th generation) (36A4AF6B-1232-4BCB-B74F-226E025225E4) (Shutdown) 
    iPad Pro (11-inch) (2nd generation) (79391BD7-0E55-44C8-B1F9-AF92A1D57274) (Shutdown) 
    iPad Pro (12.9-inch) (4th generation) (ED90A31F-6B20-4A6B-9EE9-CF22C01E8793) (Shutdown) 
    iPad Air (3rd generation) (41AD1CF7-CB0D-4F18-AB1E-6F8B6261AD33) (Shutdown) 
-- tvOS 13.4 --
    Apple TV 4K (51925935-97F4-4242-902F-041F34A66B82) (Shutdown) 
-- watchOS 6.2 --
    Apple Watch Series 5 - 40mm (7C50F2E9-A52B-4E0D-8B81-A811FE995502) (Shutdown) 
    Apple Watch Series 5 - 44mm (F7D8C256-DC9F-4FDC-8E65-63275C222B87) (Shutdown) 

这里以不带ID的选择模拟器字符串为例。

iPad Pro(12.9英寸)(第四代)

最后的命令

iPhone

•iPhone 6s

react-native run-ios --simulator="iPhone 6s"

• 苹果手机 8

react-native run-ios --simulator="iPhone 8"

•iPhone 8 Plus

react-native run-ios --simulator="iPhone 8 Plus"

• 苹果手机 11

react-native run-ios --simulator="iPhone 11"

• 苹果手机 11 专业版

react-native run-ios --simulator="iPhone 11 Pro"

• iPhone 11 Pro Max

react-native run-ios --simulator="iPhone 11 Pro Max"

•iPhone SE(第二代)

react-native run-ios --simulator="iPhone SE (2nd generation)"

iPad

• iPad Pro(9.7 英寸)

react-native run-ios --simulator="iPad Pro (9.7-inch)"

•iPad(第7代)

react-native run-ios --simulator="iPad (7th generation)"

•iPad Pro(11英寸)(第二代)

react-native run-ios --simulator="iPad Pro (11-inch) (2nd generation)"

•第四代iPad Pro(12.9英寸)

react-native run-ios --simulator="iPad Pro (12.9-inch) (4th generation)"

•iPad Air(第三代)

react-native run-ios --simulator="iPad Air (3rd generation)"

有一个项目设置,如果你搜索:

{项目}/ node_modules / react-native / local-cli / runIOS / runIOS.js

在模块下有一些选项。出口包括:

选择:[{ 命令:'——simulator [string]', 描述:'显式设置模拟器使用', 默认:'iPhone 7', }

我的是第231行,只需将其设置为有效安装的模拟器并运行 React-native run-ios默认情况下会运行到那个模拟器。

案例1: 它发生在登录屏幕上,我在TextInput上自动聚焦。注释掉了,一切恢复正常。

案例2: 与世博会!

更新XCode后,我一直在使用iPhone 12 Max模拟器,但我更喜欢iPhone 8。下面是我采取的步骤:

当模拟器聚焦时,转到文件->打开模拟器,并选择一个您希望作为默认的模拟器。 关闭旧的模拟器,关闭localhost:19002并使用ctr + C停止终端中的服务器。 运行npm start,然后按i。

现在它在你打开的模拟器上运行。

编码快乐!