Search code examples
react-nativereact-native-cli

How to run react-native run-ios with specific target


Is there a way to run a specific target with command

react-native run-ios

for Android I'm using following

react-native run-android --variant=targetRelease

Solution

  • for ios --scheme is there

     react-native run-ios --scheme "TargetName"
    

    for other arguments, I just extracted the runIos.js file from local-cli

    here is the data,

    {
      name: 'run-ios',
      description: 'builds your app and starts it on iOS simulator',
      func: runIOS,
      examples: [
      {
        desc: 'Run on a different simulator, e.g. iPhone 5',
        cmd: 'react-native run-ios --simulator "iPhone 5"',
      },
      {
        desc: 'Pass a non-standard location of iOS directory',
        cmd: 'react-native run-ios --project-path "./app/ios"',
      },
      {
        desc: "Run on a connected device, e.g. Max's iPhone",
        cmd: 'react-native run-ios --device "Max\'s iPhone"',
      },
      {
        desc: 'Run on the AppleTV simulator',
        cmd: 'react-native run-ios --simulator "Apple TV"  --scheme "helloworld-tvOS"',
      }
      ],
      options: [{
        command: '--simulator [string]',
        description: 'Explicitly set simulator to use',
        default: 'iPhone 6',
      } , {
        command: '--configuration [string]',
        description: 'Explicitly set the scheme configuration to use',
      } , {
        command: '--scheme [string]',
        description: 'Explicitly set Xcode scheme to use',
      }, {
        command: '--project-path [string]',
        description: 'Path relative to project root where the Xcode project '
          + '(.xcodeproj) lives. The default is \'ios\'.',
        default: 'ios',
      }, {
        command: '--device [string]',
        description: 'Explicitly set device to use by name.  The value is not required if you have a single device connected.',
      }, {
        command: '--udid [string]',
        description: 'Explicitly set device to use by udid',
      }, {
        command: '--no-packager',
        description: 'Do not launch packager while building',
      }, {
        command: '--verbose',
        description: 'Do not use xcpretty even if installed',
      },{
        command: '--port [number]',
        default: process.env.RCT_METRO_PORT || 8081,
        parse: (val: string) => Number(val),
      }],
    };