iOS 15: Cannot launch enterprise signed application

This should NOT normally be required but just in case here are some steps that worked for me. This was necessary to fix an issue when iOS was updated to version 15 and our application stopped working. Users were presented with the following error which was not very helpful.

image

The underlying problem is the app was signed with an older (and now incompatible with enterprise distributuons) version of xcode.

One solution is to resign the app but there aren’t fully clear steps anywhere for that so here we go…

These steps were cobbled together from several expo forum posts, stack overflow posts and a quick chat with Brent from Expo.

Steps to manually resign an IPA:

  1. brew install fastlane

  2. go to your project root folder in terminal and run “expo prebuild”. This lays down the ios (and anrdoid but that’s irrelevant) projects so we can use fastlane. Don’t worry you haven’t “ejected”.

  3. in same folder run “cd ios” then run “fastlane init”

  4. Open keychain access manager on mac os and then go to File // Import then go pick your .p12 distribution cert (you should have this already but if not you can download it from https://expo.dev/accounts/your_account/projects/your_project/credentials?platform=ios assuming it’s been cached there)

  5. Now back in the terminal you want to resign the ipa file using fastlane with the following command (just make sure the paths are correct first!):

fastlane sigh resign /path/to/<your_app>.ipa --signing_identity “<your_signing_identity>” -p “path/to/<your_provisioning_profile>”

The provisioning profile file you should have this already but if not you can download it from https://expo.dev/accounts/your_account/projects/your_project/credentials?platform=ios assuming it’s been cached there.

If you don’t know <your_signing_identity> you can just not include the signing_identity option and then copy paste the one that is shown when the program runs into the prompt. When you run the command it lists out the available identities… Just copy/paste the weird long number/string not the whole thing.

If it says no applicable identities then you didn’t do 4) correctly.

If it complains about no ios project or whatever then you didn’t do 3) correctly or you’re not currently in the /ios

https://docs.fastlane.tools/actions/sigh/

https://docs.fastlane.tools/getting-started/ios/setup/

2 Likes