2
votes

I have several partitions on the same computer. A different macOS version is installed on each of them. I was developing desktop and iOS applications under El Capitan till a week ago. Then I've decided to completely switched to Sierra. Now, I want to code-sign and send to App Store old and new applications that are maintained under the Sierra partition. For that goal, I need access to provisioning profiles.

enter image description here

The problem that I have with the new partition is that I no longer see a list of provisioning profiles. If I open Xcode's Accounts, I no longer have the view details button. Instead, I have the manage certificates button. Clicking on it, I see a list of development and distribution certificates, not a list of provisioning profiles, which kind of tells me that Xcode is confused about which group of certificates to work with. I have a pair of certificates installed for the new partition (dated 2017/06/19). But Xcode is still confused, I suppose. I can't bring certificates from old partition to the new partition. If I do, the panel shows that certificates don't have private keys. I CAN go back to the old partition in order to use provisioning profiles. So how can I access provisioning profiles under the new partition? Revoking existing certificates on the old partition is the only solution? Thanks.

1

1 Answers

2
votes

You can export the old certificates with their private keys from the Keychain on your old partition. Go into Keychain Access, find the iOS Development and iOS Distribution certificates under "My Certificates" and select File->Export Items... Save the cert with it's private key as a .p12 file. Then get the .p12 file to your new partition (email, USB drive, direct copy) and import it into your Keychain on the new partition.

The other option is to switch to Xcode 8's automatic code signing. That would allow Xcode, when signed into your developer account, to create all the code signing assets necessary. Previously, Apple only let you have 2 certificates of each type at any time, which caused problems when letting Xcode manage the certs because creating a cert on a new Mac (or new install of Mac OS X) would often invalidate the cert on the old Mac. Now, Apple let's you have multple certs, so with automatic code signing, each new Mac (or each instance of Mac OS) can have it's own certificate and provisioning profile. I would attempt to start using automatic code signing if you no longer need to use Xcode 7. You can find out more about it here.