App Center iOS install error: "This app cannot be installed because its integrity could not be verified"
Sebastian Wright
I see that this question has been asked many times but I see no solution that works for me so I'm hoping that providing more info might shed some light.
We use appcenter.ms to test iOS apps. Until our iOS certificate expired this method worked fine. We generated a new enterprise certificate and Ad Hoc provisioning profile for new releases of the iOS app. Which led to the first curiosity.
I see how to upload a certificate on appcenter.ms but not a provisioning profile. I thought there was an option to do this in the past but perhaps I am mistaken. However, the app is signed with a provisioning profile before upload, so perhaps this is not needed now.
Once the app is uploaded, it can't be installed. It remains grey and when you tap it, you get the "This app cannot be installed because its integrity could not be verified" error. Again, the .ipa is created with an Ad Hoc certificate and profile via Xamarin (VS for Mac).
Also, I can't install the provisioning profile on a device from appcenter.ms. You basically get stuck in a loop where you seem to successfully install the profile but have to keep doing it because it never actually installs.
I hope this is enough info for some insight and thanks in advance for any feedback.
114 Answers
The issue can be the your device is simply not registered on the developer portal and/or that ad-hoc provisioning profiles have not been regenerated.
You need to register your device, regenerate a provisioning profile with this device in it and rebuild your app using this profile.
2We were able to solve this by redoing and downloading development certs and via
And also downloading and double clicking the apple development certificate here
After that our keychain showed both as trusted and we could build to the iPhone again.
This can also happen because ofDeveloper ID Notary Service - Outage
which can be checked on
Notarization is well explained here:
Notarization gives users more confidence that the Developer ID-signed software you distribute has been checked by Apple for malicious components. Notarization is not App Review. The Apple notary service is an automated system that scans your software for malicious content, checks for code-signing issues, and returns the results to you quickly. If there are no issues, the notary service generates a ticket for you to staple to your software.
In my case this was caused by trying to include an entitlement for aps-environment "development" when using an Ad-Hoc provisioning profile. The value for this environment in Entitlements.plist must match what is hard coded into the provisioning profile file - if you open an Ad-Hoc profile in a text editor you will see it expects the "production" environment.
The possible solutions depending on your requirements are to either use the Development profile/certificate, or change the aps-environment to "production" to continue using an Ad-Hoc provisioning profile.
It can also happen if you have other incorrect entitlements - worth checking what entitlements are enabled under the Identifier in Apple Developer portal and removing unnecessary ones.
Work around fix:
- Select your app.
- Navigate to TextFlight tab
- Create External Testing group
- Add one tester
- Add build which you want to download using TestFlight
- Open TestFlight and download an app.
I had this issue because when building the app on xCode for distribution (Product->Archive then Distribute App), I chose automatic signing. After manually signing the app and choosing my own generated certificate and profile, everything worked again fine.
I removed the Entitlements file from the Addition Resources in iOS Bundle Signing and it worked. I think the MSAL configuration was set to debug in entitlements.plist
Similar, but slightly different to Anand's answer I had the same issue where the features that were defined in the app identifier (e.g. NFC support) were not set correctly in the Entitlements.plist. This wasn't an issue on simulator - only when deploying to a physical device.
You can check the entitlements for your provisioning profile using this command
security cms -D -i iOSTeamProfile.mobileprovision | xmllint --xpath "/plist/dict/key[text()='Entitlements']/following-sibling::dict[position()=1]" -When the entitlements in the .plist file matched the provisioning profile the integrity check passed.
I have also face this issue before but for me the reason was little different First the build was enterprise one and the build was made on the earlier Xcode version on which the iOS version you are using on the device was not supported by the Xcode. All I did was to update my Xcode and make a new build and shared the build. After that we were able to install that build over device Hope it works for you as well
This is how I solved for myself.
In you iPhone Settings > General > VPN & Device Management you should see your company name (if an app from it is installed), and if you click on it, you will see a button like "Verify" above the list of apps installed provided by the company. Just click on "Verify".
In my case, it was because my developer account had rolled into a new subscription year. When this happens, all provisioned devices reach their expiration. You'll need to reconfirm all devices in AppConnect each year.
There will be a button at the top of this page in a banner to reconfirm the devices. You will not need to generate a new build, all devices will continue working.
Mine was, I forgot to select a team
I was getting this error on one of my iOS devices despite my iOS device being included in the Ad Hoc provisioning profile which was used to sign my app.
The issue for me was that I had not (1) added the device to my App Center account and (2) installed the App Center profile on the device.
You can see which devices are already added to your account by navigating to .
You can add a new device to your App Center account by navigating to on the device that you want to add. Follow the instructions to add the device to your account and to install the App Center profile on the device.
All of this (and more) is explained in the Testing iOS Apps > Adding your Device App Center documentation page.
There is one more scenario in which you might face this, if you have the parameter aps environment in Entitlements.plist and that is set to development and the provisioning profile & certificates you use actually is pointing to production or vice versa, this issue will occur. It can be corrected by matching both.