why do I have (seemingly) extra certificates?

Hi folks,

I'm an amateur but somewhat successful and experienced developer of iOS apps only. I've been having issues with code signing. I'd like to ask a few questions one at a time which I hope can clarify. Basic questions, but best to start basic.

I develop ONLY for iOS. I recall for the first few years, I had a single developer certificate and a single distribution certificate. Simple, and I prefer simple! For the past perhaps couple of years, I've noticed two more certificates. I'd attach a screenshot, but I don't think I'm allowed, so I'll just write what I see on my Apple Developer > Account > Certificates, Identifiers, & Profiles > Certificates list.

Name... Type... Platform... Created by... Expiration
Joshua... Distribution All Joshua... 2020/12/30
Joshua... iOS Distribution iOS Joshua... 2021//08/29
Joshua... iOS Development iOS Joshua... 2021/08/29
Joshua... Development All Joshua... 2021/10/20

Why do I have more than just iOS development & distribution certificates? Which certificates should I choose when I create-edit-update provisioning profiles? Will I mess stuff up if I get rid of the certificates which are not iOS certificates?

Best,
  • - Josh

Replies

Why do I have more than just iOS development & distribution
certificates?

A while back (about a year and a half ago?) Apple unified our Development and Distribution signing identities. Whereas historically you might have had separate ones for iOS and macOS, now you just get Apple ones. For example, an Apple Development signing identity can be used for day-to-day development signing for both the iOS and the Mac.

Which certificates should I choose when I create-edit-update
provisioning profiles?

I don’t see why you have to be picky here; just select ’em all.

Will I mess stuff up if I get rid of the certificates which are not
iOS certificates?

IMO you should be heading in the opposite direction, towards Apple Development and Apple Distribution signing identities. That gives you the best long-term flexibility. For example, maybe one day you might want to build a Mac Catalyst version of your app.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@apple.com"