当我运行此命令时:
react-native run-ios
Run Code Online (Sandbox Code Playgroud)
我的应用程序默认在iPhone6模拟器设备中运行:
Found Xcode project RN.xcodeproj
Launching iPhone 6 (9.2)...
Run Code Online (Sandbox Code Playgroud)
如何在默认情况下让应用程序在不同的模拟器设备(如iPhone5s)中运行?
Dan*_*dow 329
使用--simulator标志指定模拟器.
这些是适用于iOS 12.0的可用设备:
react-native run-ios --simulator="iPhone 5s"
react-native run-ios --simulator="iPhone 6"
react-native run-ios --simulator="iPhone 6 Plus"
react-native run-ios --simulator="iPhone 6s"
react-native run-ios --simulator="iPhone 6s Plus"
react-native run-ios --simulator="iPhone 7"
react-native run-ios --simulator="iPhone 7 Plus"
react-native run-ios --simulator="iPhone 8"
react-native run-ios --simulator="iPhone 8 Plus"
react-native run-ios --simulator="iPhone SE"
react-native run-ios --simulator="iPhone X"
react-native run-ios --simulator="iPhone XR"
react-native run-ios --simulator="iPhone Xs"
react-native run-ios --simulator="iPhone Xs Max"
react-native run-ios --simulator="iPad Air"
react-native run-ios --simulator="iPad Air 2"
react-native run-ios --simulator="iPad"
react-native run-ios --simulator="iPad Pro"
react-native run-ios --simulator="iPad Pro"
react-native run-ios --simulator="iPad Pro"
react-native run-ios --simulator="iPad Pro"
react-native run-ios --simulator="iPad"
Run Code Online (Sandbox Code Playgroud)
列出所有可用的iOS设备:
xcrun simctl list devices
Run Code Online (Sandbox Code Playgroud)
目前无法设置默认值.
Ian*_*n L 45
您还可以通过向文件元素添加条目来使用npm.例如scriptspackage.json
"launch-ios": "react-native run-ios --simulator \"iPad Air 2\""
Run Code Online (Sandbox Code Playgroud)
然后使用这个: npm run launch-ios
sva*_*all 23
如果你追捕,有一个项目设置:
{project}/node_modules/react-native/local-cli/runIOS/runIOS.js
其中有一些选项module.exports包括:
options: [{
command: '--simulator [string]',
description: 'Explicitly set simulator to use',
default: 'iPhone 7',
}
我是第231行,只需将其设置为有效的已安装模拟器并运行
react-native run-ios它将默认运行到该模拟器.
Bru*_*mos 22
您可以在~/.bash_profile文件中创建别名:
alias rn-ios="react-native run-ios --simulator \"iPhone 5s (10.0)\""
然后使用创建的别名运行react-native:
$ rn-ios
Lij*_*pin 11
1)重命名您的模拟器,如果模拟器具有相同的名称但不同的iOS版本
Xcode -> Window -> Devices and Simulators -> Simulators.
Run Code Online (Sandbox Code Playgroud)
2)打开您的react本机项目文件夹
3)编辑package.json
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest",
"flow": "node_modules/.bin/flow",
"start-iphone6": "react-native run-ios --simulator \"iPhone 6 11.3\""
}
Run Code Online (Sandbox Code Playgroud)
4) npm run start-iphone6
有多种方法可以实现这一点:
--simulator标志--udid标志首先,您需要列出所有可用的设备。列出所有运行的设备
xcrun simctl list device
Run Code Online (Sandbox Code Playgroud)
这将给出如下输出:
以下是适用于 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)
Run Code Online (Sandbox Code Playgroud)
然后从输出中您可以选择名称或 uuid,然后根据需要继续操作。
--simulatorrun 运行:npx react-native run-ios --simulator="iPhone SE"
Run Code Online (Sandbox Code Playgroud)
--udid标志运行运行:npx react-native run-ios --udid 90953319-BF9A-4C6E-8AB1-594394AD26CE
Run Code Online (Sandbox Code Playgroud)
我希望这个答案对你有帮助。
更新:
\nnpx react-native run-ios --simulator="iPhone 14"\nnpx react-native run-ios --simulator="iPhone 13"\nRun Code Online (Sandbox Code Playgroud)\n使用此命令获取设备列表
\nxcrun simctl list devices\nRun Code Online (Sandbox Code Playgroud)\n安慰
\n== Devices ==\n-- iOS 13.5 --\n iPhone 6s (9981E5A5-48A8-4B48-B203-1C6E73243E83) (Shutdown) \n iPhone 8 (FC540A6C-F374-4113-9E71-1291790C8C4C) (Shutting Down) \n iPhone 8 Plus (CAC37462-D873-4EBB-9D71-7C6D0C915C12) (Shutdown) \n iPhone 11 (347EFE28-9B41-4C1A-A4C3-D99B49300D8B) (Shutting Down) \n iPhone 11 Pro (5AE964DC-201C-48C9-BFB5-4506E3A0018F) (Shutdown) \n iPhone 11 Pro Max (48EE985A-39A6-426C-88A4-AA1E4AFA0133) (Shutdown) \n iPhone SE (2nd generation) (48B78183-AFD7-4832-A80E-AF70844222BA) (Shutdown) \n iPad Pro (9.7-inch) (2DEF27C4-6A18-4477-AC7F-FB31CCCB3960) (Shutdown) \n iPad (7th generation) (36A4AF6B-1232-4BCB-B74F-226E025225E4) (Shutdown) \n iPad Pro (11-inch) (2nd generation) (79391BD7-0E55-44C8-B1F9-AF92A1D57274) (Shutdown) \n iPad Pro (12.9-inch) (4th generation) (ED90A31F-6B20-4A6B-9EE9-CF22C01E8793) (Shutdown) \n iPad Air (3rd generation) (41AD1CF7-CB0D-4F18-AB1E-6F8B6261AD33) (Shutdown) \n-- tvOS 13.4 --\n Apple TV 4K (51925935-97F4-4242-902F-041F34A66B82) (Shutdown) \n-- watchOS 6.2 --\n Apple Watch Series 5 - 40mm (7C50F2E9-A52B-4E0D-8B81-A811FE995502) (Shutdown) \n Apple Watch Series 5 - 44mm (F7D8C256-DC9F-4FDC-8E65-63275C222B87) (Shutdown) \nRun Code Online (Sandbox Code Playgroud)\n选择不带 ID 的 Simulator 字符串,这里是一个示例。
\niPad Pro(12.9 英寸)(第四代)
\n最终命令
\n\n\niPhone
\n
\xe2\x80\xa2 iPhone 6s
\nreact-native run-ios --simulator="iPhone 6s"\nRun Code Online (Sandbox Code Playgroud)\n\xe2\x80\xa2 iPhone 8
\nreact-native run-ios --simulator="iPhone 8"\nRun Code Online (Sandbox Code Playgroud)\n\xe2\x80\xa2 iPhone 8 Plus
\nreact-native run-ios --simulator="iPhone 8 Plus"\nRun Code Online (Sandbox Code Playgroud)\n\xe2\x80\xa2 iPhone 11
\nreact-native run-ios --simulator="iPhone 11"\nRun Code Online (Sandbox Code Playgroud)\n\xe2\x80\xa2 iPhone 11 Pro
\nreact-native run-ios --simulator="iPhone 11 Pro"\nRun Code Online (Sandbox Code Playgroud)\n\xe2\x80\xa2 iPhone 11 Pro Max
\nreact-native run-ios --simulator="iPhone 11 Pro Max"\nRun Code Online (Sandbox Code Playgroud)\n\xe2\x80\xa2 iPhone SE(第二代)
\nreact-native run-ios --simulator="iPhone SE (2nd generation)"\nRun Code Online (Sandbox Code Playgroud)\n\n\niPad
\n
\xe2\x80\xa2 iPad Pro(9.7 英寸)
\nreact-native run-ios --simulator="iPad Pro (9.7-inch)"\nRun Code Online (Sandbox Code Playgroud)\n\xe2\x80\xa2 iPad(第七代)
\nreact-native run-ios --simulator="iPad (7th generation)"\nRun Code Online (Sandbox Code Playgroud)\n\xe2\x80\xa2 iPad Pro(11 英寸)(第 2 代)
\nreact-native run-ios --simulator="iPad Pro (11-inch) (2nd generation)"\nRun Code Online (Sandbox Code Playgroud)\n\xe2\x80\xa2 iPad Pro(12.9 英寸)第四代
\nreact-native run-ios --simulator="iPad Pro (12.9-inch) (4th generation)"\nRun Code Online (Sandbox Code Playgroud)\n\xe2\x80\xa2 iPad Air(第 3 代)
\nreact-native run-ios --simulator="iPad Air (3rd generation)"\nRun Code Online (Sandbox Code Playgroud)\n
正如 Ian L 所回答的,我也使用 NPM 来管理我的脚本。
例子:
{
"scripts": {
"ios": "react-native run-ios --simulator=\"iPad Air 2\"",
"devices": "xcrun simctl list devices"
}
}Run Code Online (Sandbox Code Playgroud)
这样,我可以快速得到我需要的东西:
npm run devicesnpm run ios这是更改 iOS 模拟器的新路径,您只需更改
default: 'iPhone 6' or something else
Run Code Online (Sandbox Code Playgroud)
小路:
<project_root>/node_modules/@react-native-community/cli/build/commands/runIOS/runIOS.js
Run Code Online (Sandbox Code Playgroud)
小智 5
您可以使用
npx react-native run-ios --simulator="iPhone 14"
Run Code Online (Sandbox Code Playgroud)
或者转到 xcode 并添加一个名为“iPhone 6 (9.2)”的新模拟器(如果您不想 --simulator="iPhone 14"每次都添加)
| 归档时间: |
|
| 查看次数: |
60915 次 |
| 最近记录: |