{
  "$schema": "https://json-schema.org/schema",
  "version": 2,
  "cli": "nx",
  "title": "React Native Build iOS executor",
  "description": "Build iOS app.",
  "type": "object",
  "presets": [
    {
      "name": "Build iOS for a simulator",
      "keys": ["simulator"]
    },
    {
      "name": "Build iOS for a device",
      "keys": ["device"]
    },
    {
      "name": "Build iOS for a device with udid",
      "keys": ["udid"]
    }
  ],
  "properties": {
    "simulator": {
      "type": "string",
      "description": "Explicitly set simulator to use. Optionally include iOS version between parenthesis at the end to match an exact version: \"iPhone 6 (10.0)\"",
      "examples": [
        "iPhone 14",
        "iPhone 13",
        "iPhone 12",
        "iPhone 11",
        "iPhone X"
      ],
      "x-priority": "important"
    },
    "mode": {
      "type": "string",
      "description": "Explicitly set the scheme configuration to use",
      "default": "Debug",
      "examples": ["Debug", "Release"],
      "x-priority": "important"
    },
    "scheme": {
      "type": "string",
      "description": "Explicitly set Xcode scheme to use"
    },
    "device": {
      "type": "string",
      "description": "Explicitly set device to use by name. The value is not required if you have a single device connected."
    },
    "udid": {
      "type": "string",
      "description": "Explicitly set device to use by udid"
    },
    "verbose": {
      "type": "boolean",
      "description": "Do not use xcbeautify or xcpretty even if installed"
    },
    "port": {
      "type": "number",
      "description": "The port where the packager server is listening on.",
      "default": 8081
    },
    "xcconfig": {
      "type": "string",
      "description": "Explicitly set xcconfig to use"
    },
    "buildFolder": {
      "type": "string",
      "description": "Location for iOS build artifacts. Corresponds to Xcode's \"-derivedDataPath\". Relative to ios directory",
      "default": "./build"
    },
    "interactive": {
      "type": "boolean",
      "description": "Explicitly select which scheme and configuration to use before running a build"
    },
    "extraParams": {
      "oneOf": [
        { "type": "array", "items": { "type": "string" } },
        { "type": "string" }
      ],
      "description": "Custom params that will be passed to xcodebuild command."
    },
    "resetCache": {
      "type": "boolean",
      "description": "Resets metro cache.",
      "default": false
    }
  },
  "required": [],
  "examplesFile": "../../../docs/build-ios-examples.md"
}
