执行此命令时:
react-native run-ios
我的应用程序在iPhone6模拟器设备中默认运行:
Found Xcode project RN.xcodeproj
Launching iPhone 6 (9.2)...
如何在默认情况下让应用程序在不同的模拟器设备(如iPhone5s)中运行?
执行此命令时:
react-native run-ios
我的应用程序在iPhone6模拟器设备中默认运行:
Found Xcode project RN.xcodeproj
Launching iPhone 6 (9.2)...
如何在默认情况下让应用程序在不同的模拟器设备(如iPhone5s)中运行?
当前回答
修改/node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js的行代码
线55
if (
simulator.availability !== '(available)' &&
simulator.isAvailable !== true
) {
continue;
}
取代的:
if (
simulator.availability !== '(available)' &&
simulator.isAvailable !== true
) {
continue;
}
其他回答
对于RN 0.64.2,配置位于node_modules/@react-native-community/cli-platform-ios/build/commands/runIOS/index.js,您可以修改文件中的默认模拟器
案例1: 它发生在登录屏幕上,我在TextInput上自动聚焦。注释掉了,一切恢复正常。
案例2: 与世博会!
更新XCode后,我一直在使用iPhone 12 Max模拟器,但我更喜欢iPhone 8。下面是我采取的步骤:
当模拟器聚焦时,转到文件->打开模拟器,并选择一个您希望作为默认的模拟器。 关闭旧的模拟器,关闭localhost:19002并使用ctr + C停止终端中的服务器。 运行npm start,然后按i。
现在它在你打开的模拟器上运行。
编码快乐!
你也可以通过在你的包的scripts元素中添加一个条目来使用npm。json文件。如。
"launch-ios": "react-native run-ios --simulator \"iPad Air 2\""
然后使用这个:运行launch-ios
你可以使用
npx react-native run-ios --simulator="iPhone 14"
或者转到xcode,添加一个新的模拟器,名称为“iPhone 6(9.2)” (如果你不想每次都添加——simulator="iPhone 14")
实现这一目标有多种方法:
通过使用——simulator标志 通过使用——udid标志
首先,您需要列出所有可用的设备。列出所有运行的设备
xcrun simctl list devices
这将给出如下输出:
以下是iOS 13.0之后可用的设备:
== Devices ==
-- iOS 13.6 --
iPhone 8 (5C7EF61D-6080-4065-9C6C-B213634408F2) (Shutdown)
iPhone 8 Plus (5A694E28-EF4D-4CDD-85DD-640764CAA25B) (Shutdown)
iPhone 11 (D6820D3A-875F-4CE0-B907-DAA060F60440) (Shutdown)
iPhone 11 Pro (B452E7A1-F21C-430E-98F0-B02F0C1065E1) (Shutdown)
iPhone 11 Pro Max (94973B5E-D986-44B1-8A80-116D1C54665B) (Shutdown)
iPhone SE (2nd generation) (90953319-BF9A-4C6E-8AB1-594394AD26CE) (Booted)
iPad Pro (9.7-inch) (9247BC07-00DB-4673-A353-46184F0B244E) (Shutdown)
iPad (7th generation) (3D5B855D-9093-453B-81EB-B45B7DBF0ADF) (Shutdown)
iPad Pro (11-inch) (2nd generation) (B3AA4C36-BFB9-4ED8-BF5A-E37CA38394F8) (Shutdown)
iPad Pro (12.9-inch) (4th generation) (DBC7B524-9C75-4C61-A568-B94DA0A9BCC4) (Shutdown)
iPad Air (3rd generation) (03E3FE18-AB46-481E-80A0-D37383ADCC2C) (Shutdown)
-- tvOS 13.4 --
Apple TV (41579EEC-0E68-4D36-9F98-5822CD1A4104) (Shutdown)
Apple TV 4K (B168EF40-F2A4-4A91-B4B0-1F541201479B) (Shutdown)
Apple TV 4K (at 1080p) (D55F9086-A56E-4893-ACAD-579FB63C561E) (Shutdown)
-- watchOS 6.2 --
Apple Watch Series 4 - 40mm (D4BA8A57-F9C1-4F55-B3E0-6042BA7C4ED4) (Shutdown)
Apple Watch Series 4 - 44mm (65D5593D-29B9-42CD-9417-FFDBAE9AED87) (Shutdown)
Apple Watch Series 5 - 40mm (1B73F8CC-9ECB-4018-A212-EED508A68AE3) (Shutdown)
Apple Watch Series 5 - 44mm (5922489B-5CF9-42CD-ACB0-B11FAF88562F) (Shutdown)
然后,您可以从输出中选择名称或uuid,然后按照自己的意愿进行操作。
使用——模拟器运行:
npx react-native run-ios --simulator="iPhone SE"
使用——udid标志运行:
npx react-native run-ios --udid 90953319-BF9A-4C6E-8AB1-594394AD26CE
我希望这个答案对你有帮助。