The first is the worst...
(and in case I forget, I hope this post serves as a good memory)
An Apple Developer account can create as many developer certificates but at most 3 distribution certificates.
Create a Certificate Signing Request using my Keychain Access. (Keychain Access > Certificate Assistant > Request Certificate from Certificate Authority > Enter email address and common name > Request is saved to disk and let me specify key pair information)
Sign in to Apple Developer
To kick start Development:
Creating a Developer Certificate
Go to Certificates > "+"
Choose "iOS App Development"
Upload the .CSR file saved previously
Create App ID (Bundle ID) for the application
App ID Name: <name of application>
Explicit App ID (Bundle ID): <reverse domain name or whatever string i want it to be, though this has to match my application ID in the xml file>
Creating a Developer Provisioning Profile
Go to Provisioning Profile > "+"
Choose iOS App Development
Select desired App ID, Developer Certificate/ Devices
Specify name for the provisioning profile and download once ready
Whatever I've just created for Development will not work for Distribution! Common sense - Not quite.
Creating a Distribution Certificate (If you don't have one)
This time choose "App Store and Ad Hoc" under Production settings
No need to create new App ID, just use the first one
Creating a Distribution Provisioning Profile
This time choose the "App Store" under DistributionÂ
Choose a distribution certificate previously created
Important things to note:
I can create as many Developer certificates
I can create as many Developer and Distribution provisioning profiles
I cannot create more than 3 Distribution certificates
I can revoke a Distribution certificate and it won't affect any of my live apps or its updates
.CSR is a very important file to keep track of, especially to export a Distribution certificate to .p12 (which is needed in Adobe Development)