执行此命令时:
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;
}
其他回答
使用——simulator标志指定一个模拟器。
以下是iOS 14.0之后可用的设备:
npx react-native run-ios --simulator="iPhone 8"
npx react-native run-ios --simulator="iPhone 8 Plus"
npx react-native run-ios --simulator="iPhone 11"
npx react-native run-ios --simulator="iPhone 11 Pro"
npx react-native run-ios --simulator="iPhone 11 Pro Max"
npx react-native run-ios --simulator="iPhone SE (2nd generation)"
npx react-native run-ios --simulator="iPhone 12 mini"
npx react-native run-ios --simulator="iPhone 12"
npx react-native run-ios --simulator="iPhone 12 Pro"
npx react-native run-ios --simulator="iPhone 12 Pro Max"
npx react-native run-ios --simulator="iPhone 13 Pro"
npx react-native run-ios --simulator="iPhone 13 Pro Max"
npx react-native run-ios --simulator="iPhone 13 mini"
npx react-native run-ios --simulator="iPhone 13"
npx react-native run-ios --simulator="iPod touch (7th generation)"
npx react-native run-ios --simulator="iPad Pro (9.7-inch)"
npx react-native run-ios --simulator="iPad (9th generation)"
npx react-native run-ios --simulator="iPad Air (4th generation)"
npx react-native run-ios --simulator="iPad Pro (11-inch) (3rd generation)"
npx react-native run-ios --simulator="iPad Pro (12.9-inch) (5th generation)"
npx react-native run-ios --simulator="iPad mini (6th generation)"
列出所有可用的iOS设备:
xcrun simctl list devices
目前没有办法设置默认值。
React Native Docs:在模拟器上运行
您可以在~/处创建别名。bash_profile文件:
alias rn-ios="react-native run-ios——模拟器\"iPhone 5s (10.0)\""
然后使用创建的别名运行react-native:
rn-ios美元
修改/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;
}
案例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