Expo doesn't build the latest code (after migrating from sdk 32 to 33)

Hello,

I encounter an issue regarding the build process.

I was used to build iOS .ipa file from Expo build. But after the migration from sdk 32 to sdk 33, when I build my application with this following command line “expo build:ios --non-interactive --no-publish” I noticed that the manifest is not up-to-date with the latest version of my app and SDK.

From my code

{
    "expo": {
        "slug": "freshapps",
        "privacy": "unlisted",
        "sdkVersion": "33.0.0",
        "platforms": [
            "ios",
            "android"
        ],
        "version": "4.0.4",
        "ios": {
            "...": "..."
            "buildNumber": "4.0.4",
            "...": "..."
        },
        "android": {
            "versionCode": 303,
            "...": "..."
        }
    }
}

Build link example -> https://expo.io/builds/37a5330a-a74e-4206-84b5-0d0bc6ae39de

But in the manifest, the version built is:

  • “version”:“4.0.2”
  • “sdkVersion”:“32.0.0”

Did you encounter this kind of issue?

Have a nice day,

Stan

Thanks to @bycedric who helped me on Slack to solve my issue.

Previously, I built my application with this following command.

expo build:ios --non-interactive --no-publish

With this command, expo will use the latest code’s version published on expo.io to build the ipa. This is what I did wrong.

I fixed my issue by removing the --no-publish flag on the command line.

  • expo build:ios --no-publish will build the *.ipa from the latest version’s code published on expo.io
  • expo build:ios will publish and build the *.ipa from this version’s code

FYI: expo build:ios == expo publish && expo build:iOS --no-publish

2 Likes

Happy to help :blush:

2 Likes