Unable to install - This app cannot be installed because the integrity could not be verified

Help! I was able to build my React Native app using EAS! Hooray! Now, whenever I download the .ipa I get an error stating “Unable to Install - This app cannot be installed because the integrity could not be verified”

I’m using the managed workflow.

Expo 40.0.0
cli 4.1.6

you have built an app for submission to the app store, not for running in simulator

I’m trying to download and run it on my iphone. Is there something special I need to do to install and run the .ipa on my phone?

you need to submit it to testflight. you can use eas submit for that. alternatively, look into “internal distribution” in eas docs

We are currently running into this same issue for the @thoutboundcollective. Our engineering team have been running EAS builds on our devices for weeks. We are now trying to open up testing to other team members. They already registered their devices (several days ago) and we see 6 devices registered when running $ eas device:list. But the most recent EAS build, which I have installed and tested via the QR code, fails to load for the new team members, showing the title error.

Should we run $ eas device:create again and have all team members reinstall the profile? Any help would be appreciated.

if you are doing a build on ci or with the non-interactive flag then we can’t modify the provisioning profile to add the device, i suspect that’s what is happening here. when you run the build locally you can select which devices are on the profile and we re-generate it to add new devices

That is exactly what is happening. Manually built and tested to confirm.

We were trying to push passing builds from our CI to EAS for distribution with a github actions workflow, using expo/expo-github-action@v5:

- name: Build on EAS
  run: npx eas-cli build --profile preview -p ios --non-interactive

Without the non-interactive flag, we get the following error:

If you provide your Apple account credentials we will be able to generate all necessary build credentials and fully validate them.
This is optional, but without Apple account access you will need to provide all the values manually and we can only run minimal validation on them.
Error: Input is required, but stdin is not readable.

Is it possible to have our CI/CD push a provision-able build? What about pushing an OTA update?

Is it possible to have our CI/CD push a provision-able build? What about pushing an OTA update?

do you mean is it possible to have ci/cd able to update your provisioning profile based on devices added? we don’t support this right now, you might be able to but it’s tricky because to do that you need to authenticate with apple, which requires 2fa. you could authenticate and then save that auth token but it expires.

the best course of action is to kick off a new build manually to generate new profile when you add new devices. or sign up for the apple enterprise program that doesn’t require you to add devices to a list for distribution (this costs $299/yr from apple)