Search code examples
iosreact-nativeauthenticationexpoeas

React Native iOS Build in expo fails


I am getting below error while running the below command to generate the iOS build:

eas build -p ios --profile development

Error: iOS build failed: Some pods require a higher minimum deployment target. You can use the expo-build-properties config plugin (https://docs.expo.dev/versions/latest/sdk/build-properties/) to override the default native build properties and set a different minimum deployment target.

I have already add required settings in my app.json file, below is my app.json file code:

{
  "expo": {
    "name": "music-game",
    "slug": "music-game",
    "version": "1.0.0",
    "orientation": "portrait",
    "icon": "./assets/icon.png",
    "userInterfaceStyle": "light",
    "splash": {
      "image": "./assets/splash.png",
      "resizeMode": "contain",
      "backgroundColor": "#ffffff"
    },
    "assetBundlePatterns": [
      "**/*"
    ],
    "plugins": [
      [
        "expo-build-properties",
        {
          "ios": {
            "deploymentTarget": "13.0"
          }
        }
      ],
      "@react-native-google-signin/google-signin"
    ],
    "ios": {
      "bundleIdentifier": "eugene.googleauthexporeactnative",
      "supportsTablet": true,
      "deploymentTarget": {
        "iOS": "13.0"
      },
      "infoPlist": {
        "CFBundleURLTypes": [
          {
            "CFBundleURLSchemes": [
              "com.googleusercontent.apps.892931882481-hk2pau3bf2072p93m3ojoi4tcbs68795"
            ]
          }
        ]
      }
    },
    "android": {
      "package": "eugene.googleauthexporeactnative",
      "adaptiveIcon": {
        "foregroundImage": "./assets/adaptive-icon.png",
        "backgroundColor": "#ffffff"
      }
    },
    "web": {
      "favicon": "./assets/favicon.png"
    },
    "extra": {
      "eas": {
        "projectId": "2b4138b9-b257-4e53-95d6-b6965cfc2d73"
      }
    },
    "owner": "eugene1981"
  }
}

Can anyone tell me where I am going wrong?

I have reviewed the documentation at https://docs.expo.dev/versions/latest/sdk/build-properties/

and compared with the examples of app.json, and reviewed the deployment target to be set at,.


Solution

  • To give some more info on Eugene's answer, here is the documentation referenced: https://docs.expo.dev/versions/latest/sdk/build-properties/

    In summary, download the npm package expo-build-properties (officially supported by expo) here https://www.npmjs.com/package/expo-build-properties, if you haven't already.

    Then, in the app.json file, add the below to the plugins section (or add the plugins property if you don't already have one):

    {
      "expo": {
        "plugins": [
          [
            "expo-build-properties",
            {
              "android": {
                "compileSdkVersion": 31,
                "targetSdkVersion": 31,
                "buildToolsVersion": "31.0.0"
              },
              "ios": {
                "deploymentTarget": "13.0"
              }
            }
          ]
        ]
      }
    }