Adding your mobile app to the App Store is more complex than you probably thought. Having your app coded by the developers is not enough, there are several organisational matters that you also need to resolve, to make your app live for the users.
In the previous article, , why it’s so important and why it has to be done by the app owner - not the development team. This time, we’re focusing on a more technical side of publishing your app in the App Store, which is creating a Code Signing Certificates.
If you are a developer, thanks to this instruction you will learn step by step how to make it properly, as it’s your job to do - not the client. And if you are an app owner - it’s your right to demand from the development team to receive an app ready to publish in the App Store. And without those certificates, it is simply not. So the knowledge about this matter will help you to make sure that you received all that you’ve paid for. So let’s get started!
What is the use of a code signing certificate?
The code signing certificate is a way to assure end-users that the source code of an application hasn’t been changed since the last time it was signed by the company. Before the application can be installed on users’ devices or even be submitted to the App Store it has to be signed with the certificate issued by Apple. The code signing certificates generally can be split into development and distribution certificates. Development certificate will be needed to create a development provisioning profile. Distribution certificate will be needed to create a distribution provisioning profile.
In plain words: Code Signing Certificates purpose is to prevent unwanted users from installing your app on their devices.
What is a provisioning profile? What’s the difference between development and production provisioning profiles?
A provisioning profile includes signings certificates, device identifiers and bundle identifiers of the application. Developers with granted privileges of an administrator are able to create certificates for each environment they need, e.g. development and production. Here we have to distinguish between development and production provisioning profile. Development type provisioning profile identifies the developers who may install and develop the application, a bundle identifier for the application and list of trusted devices that will run the application. It is used in the process of development, to install applications on a limited number of devices, to test features which we’re not able to test on provided iOS simulators. The distribution provisioning profile is needed to submit an application e.g. to App Store as an organization/company.
When do we need to create provisioning profiles? In case of development one, it is needed when the application will be created by more than one developer and also when the application has to use capabilities such as Apple Pay, NFC, push notifications.
In case of distribution one each time we would like to spread the application to a larger audience, e.g. by App Store.
How do I get a code signing certificate from Apple?
1. Open KeyChain & Request a Certificate From a Certificate Authority
2. Create CSR
3. Open Certificates, Identifiers & Profiles on Apple Developer site
Go to Open Certificates on developer.apple.com and click the add button next to Certificates title.
4. Create a New Certificate
On the list choose the correct certificate that is needed - Software or Services. In case of creating software certificates for iOS, macOS, tvOS or watchOS application created in Xcode 11 or newer you have to choose Apple Development for debug or Apple Distribution.
5. Uploading CSR file
After selecting a type of certificate, upload the created CSR file.
6. Register a New provisioning profile
Choose the type of provisioning profile that is needed. The flow of creating provisioning profile is a little bit different for distribution and development.
7. Select correct App ID
a) Select developers’ certificates that will be included
b) Select devices that will be included
c) Review, Name and Generate
a) Select distribution certificate which the app will be signed with
b) Review, Name and Generate
The creation of signing certificates for iOS applications is something that we are not able to skip off during the development process. This process is needed to distribute the application to an audience. The whole process of creation and management should be done by the developer which holds the role of the administrator in the client's Apple Developer program. And here is the reason why all developers regardless of current experience should learn how to struggle with the flow of signing certificate management. In the future, they will be able to manage it without any hesitation.
As you can see, there are few steps you need to take to add your application to the Apple Store. It is not easy to do for a non-technical person. That's why it is so important to cooperate with a team of mobile specialists that will take care of the whole mobile app development - from app idea validation to launching a fully functional product. At Railwaymen, we ensure complete app development. Check how we work: