IOS – How to find out which app uses which distribution certificate

certificateios

I want to build the app using Expo React Native. Expo can handle all credentials for me automatically: distribution certificate, push notifications key, and provisioning profile. Unfortunately, we cannot have more than three distribution certificates, and we already have three.

I want to revoke one of them, but without breaking any of the existing apps. How can I find out which app uses which certificate?

Best Answer

I had to work this exact same thing out today. I had multiple distribution certificates that had the same name and needed to figure out which apps were using which certificates. Apple really should make it more obvious, but once you know where to look, it's pretty easy to work it out. A bit convoluted, admittedly...

The following instructions require you to use your browser's inspection tool. I've written them for Chrome but the instructions are nearly identical for IE/Firefox/etc.

  1. Sign in to Apple Developer
  2. Click Certificates, IDs & Profiles in the menu
  3. Make sure that you are viewing "Certificates"
  4. Click a distribution certificate and take note of the URL. The last part of the URL is the certificate's ID. Make note of it.
    • https://developer.apple.com/account/resources/certificates/download/12345ABCDE
    • Certificate ID = 12345ABCDE
  5. Click "< All Certificates" to return to the main list
  6. Click "Profiles" to view your app profiles
  7. Click an app to load it's profile info and then click the "Edit" button
  8. Right-click the name of the certificate that is selected (the one the profile is set to use) and click "Inspect"
  9. You will see the certificate ID for that app in the source code:

Location of certificate ID in source code

<li>
    <span><input type="radio" name="certificateIds" id="12345ABCDE" value="12345ABCDE" checked=""></span>
    <div>
        <label for="12345ABCDE">
            <span class="cert-name-type">Certificate Name Here</span>
            <span>Jul 15, 2020</span>
        </label>
    </div>
</li>

If you have a large number of apps then this is going to be a lot of work. Given that Expo can pull your app list and show the certificates they're using, there's clearly some type of API that can retrieve the information. More than likely it's a component of fastlane, but I haven't dug too deep into which tool it could be.