How to renew expired Certificate & Provisioning Profile for Ad Hoc Distribution

Apple requires it’s developers to rebuild and redeploy their apps with a new Provisioning Profile each year. Here are the steps that you would need to follow when your profile is close to it’s expiration date so you keep your app running without interruptions:

  1. Go to developer.apple.com and navigate to the Member Center -> Certificates, Identifiers & Profiles
  2. Go to Certificates -> Production
  3. Here you will see all your production certificates. I’m assuming most of them have or soon will be expired. So go ahead and request a new certificate by clicking on the Add (+) button.
  4. On that Add iOS Certificate screen, select In-House and Ad Hoc option and hit Continue.
  5. Now before we can continue, let’s open Keychain Access on you computer and generate a Certificate Signing Request by going to Keychain Access -> Certificate Assistant -> Request a Certificate from a Certificate Authority
  6. In the window that pops up, enter your email address and common name.
  7. Save the .certSigningRequest file to your disk.
  8. Now go back to your browser window and upload the .certSigningRequest file which you just created and click on Generate.
  9. Download and open the .cer file which you just generated in Keychain Access. You should now be able to see the newly generated certificate with a new expiration date.
  10. Now go back to the browser and navigate to Provisioning Profiles -> Distribution
  11. Click on the provisioning profile in question and click on the Edit button.
  12. In the certificates field, select the new certificate which you just created and click Generate.
  13. Download and open the new provisioning profile (.mobileprovision) in the Organizer. You should now see the new expiring date (a year from now) on that as well.
  14. Delete the old profiles to avoid confusion and rebuild your app with the new one
  15. Once you’ve rebuilt the app, just install it again on all devices in question.
If you have any questions or comments, please post them below. If you liked this post, you can share it with your followers or follow me on Twitter!