How to update provisioning profile?

Update, like @kraegpoeth, I just manually handled the certs and that let me load/deliver my application.

My process, as someone who already had his app on the app store and ran into this issue.

  • Revoke any vestigial certificates / ones you don’t think are in actual use in All Certificates. I had some certificates I suspected were from my failed exp build:ios -c’s that I revoked.
  • Click (+) on the All Certificates page and create a new “App Store and Ad Hoc” certificate. It’ll ask you to make a .certSigningRequest file:
    – Open Keychain Access on your Mac and in the toolbar go to Keychain Access > Certificate Assistant > Request a Certificate From a Certificate Authority.
    – Enter your email address, give a name like “Raphael Prod App”, request it saved to disk, press continue and save the file.
  • Upload this file to the webpage and Apple will create a .cer file for you. Download this file, double click it to add it to your Keychain. Find it in Keychain Access under “login” in the keychains column and “Keys” in the category column. It’ll have the name you entered before and a little arrow next to it on the left. Expand the arrow and shift click to select the private key as well as the distribution certificate (not the public key). Right click and press export, save it as a .p12 and be sure to add a password. Click continue, and you’ll probably have to enter your mac password twice, once for each file.
  • Now go to the App IDs page, click your app, press edit, and create a new production SSL certificate under Push Notifications. Download this file.
  • This will give you a .cer file, while expo asks for a .p12 file. As before, double click on this file to add it to your keychain, go to Keychain Access, select login/My Certificates and search “push” to find it. Right click it and hit export – for some reason this is really inconsistent and I had to right click several times to get it to say export. As before, give it a password and save it as a .p12.
  • Go to All Provisioning Profiles and click (+). Select App Store, hit continue, choose your app, hit continue, select the certificate you made earlier, hit continue, give it a name, hit continue, download the file, which should have a .mobileprovision extension.
  • You now have all the files you need. Do exp build:ios -c and include your original certificate’s .p12, your push certificate’s .p12, and the .mobileprovision file.
  • You’re done!

Important note: this is the process I went through, which doesn’t necessarily mean it’s the right one. I just found out about exp fetch:ios:certs and that seems relevant though I don’t know how it’d fit into this process. I don’t really know how this affects my existing app, or whether this means I’ll have to continue manually uploading forever or whether expo can handle future builds. I’m still not sure what exp build:ios -c really does. But these steps got me past this associated domains issue :smile:

3 Likes