37

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.

Adil Hussain
  • 30,049
  • 21
  • 112
  • 147
CYAD
  • 985
  • 2
  • 14
  • 21
  • Hi, whehter you use the same certificates and Apple IDs to generate a new enterprise certificate and ad hoc provisioning profile? – Junior Jiang Feb 04 '21 at 01:59

14 Answers14

10

We 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.

Andrew Pier
  • 189
  • 1
  • 3
10

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.

MoOx
  • 8,423
  • 5
  • 40
  • 39
7

This can also happen because of Developer ID Notary Service - Outage

which can be checked on https://developer.apple.com/system-status/

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.

Filip Savic
  • 2,737
  • 1
  • 29
  • 34
4

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.

Breeno
  • 3,007
  • 2
  • 31
  • 30
3

Work around fix:

  1. Select your app.
  2. Navigate to TextFlight tab
  3. Create External Testing group
  4. Add one tester
  5. Add build which you want to download using TestFlight
  6. Open TestFlight and download an app.

enter image description here

Ramis
  • 13,985
  • 7
  • 81
  • 100
  • 1
    Seems something wrong was on Apple's side, maybe because of this https://stackoverflow.com/a/74733026/551744. Added needed users as individual testers and it worked. Not a pleasant part, but at least it worked when it is needed now. – Chaki_Black Dec 09 '22 at 07:26
1

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.

enter image description here

Cedric Ipkiss
  • 5,662
  • 2
  • 43
  • 72
1

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

Luca Ziegler
  • 3,236
  • 1
  • 22
  • 39
0

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

Dev karan
  • 3
  • 4
0

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".

Yairopro
  • 9,084
  • 6
  • 44
  • 51
0

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.

https://developer.apple.com/account/resources/devices/list

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.

Kyle Venn
  • 4,597
  • 27
  • 41
0

Mine was, I forgot to select a team

enter image description here

tjvg1991
  • 382
  • 1
  • 5
  • 10
0

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 https://install.appcenter.ms/profile.

You can add a new device to your App Center account by navigating to https://install.appcenter.ms/register-device 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.

Adil Hussain
  • 30,049
  • 21
  • 112
  • 147
0

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.

Anand
  • 744
  • 1
  • 8
  • 14
0

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.

0mpurdy
  • 3,198
  • 1
  • 19
  • 28