React Native Change Default iOS Simulator Device

前端 未结 13 1573
轮回少年
轮回少年 2020-12-12 09:56

When I run this command:

react-native run-ios

My app runs by default in the iPhone6 simulator device:

Found Xcode project R         


        
相关标签:
13条回答
  • 2020-12-12 10:22

    As answered by Ian L, I also use NPM to manage my scripts.

    Example:

    {
      "scripts": {
        "ios": "react-native run-ios --simulator=\"iPad Air 2\"",
        "devices": "xcrun simctl list devices"
      }
    }

    This way, I can quickly get what I need:

    1. List all devices: npm run devices
    2. Run the default simulator: npm run ios
    0 讨论(0)
  • 2020-12-12 10:23

    There is a project setting if you hunt down:

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

    Within there are some options under module.exports including:

    options: [{ command: '--simulator [string]', description: 'Explicitly set simulator to use', default: 'iPhone 7', }

    Mine was line 231, simply set that to a valid installed simulator and run react-native run-ios it will run to that simulator by default.

    0 讨论(0)
  • 2020-12-12 10:24

    Here is new path for changing iOS simulator you just need to change

    default: 'iPhone 6' or something else 
    

    Path:

    <project_root>/node_modules/@react-native-community/cli/build/commands/runIOS/runIOS.js
    
    0 讨论(0)
  • 2020-12-12 10:24

    I had an issue with XCode 10.2 specifying the correct iOS simulator version number, so used:

    react-native run-ios --simulator='iPhone X (com.apple.CoreSimulator.SimRuntime.iOS-12-1)'
    
    0 讨论(0)
  • 2020-12-12 10:28

    Get device list with this command

    xcrun simctl list devices
    

    Console

    == 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) 
    

    Select Simulator string without ID here is an example.

    iPad Pro (12.9-inch) (4th generation)

    Final command

    iPhone

    • iPhone 6s

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

    • iPhone 8

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

    • iPhone 8 Plus

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

    • iPhone 11

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

    • iPhone 11 Pro

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

    • iPhone 11 Pro Max

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

    • iPhone SE (2nd generation)

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

    iPad

    • iPad Pro (9.7-inch)

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

    • iPad (7th generation)

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

    • iPad Pro (11-inch) (2nd generation)

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

    • iPad Pro (12.9-inch) 4th generation

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

    • iPad Air (3rd generation)

    react-native run-ios --simulator="iPad Air (3rd generation)"
    
    0 讨论(0)
  • 2020-12-12 10:29

    You can create an alias at your ~/.bash_profile file:

    alias rn-ios="react-native run-ios --simulator \"iPhone 5s (10.0)\""

    And then run react-native using the created alias:

    $ rn-ios

    0 讨论(0)
提交回复
热议问题