An iOS device is only able to run apps approved by Apple and installed through the App Store. To achieve this, Apple ensures that every app run by iOS has a signed Apple Certificate.
Apps installed from the App Store come bundled with a certificate, which the system verifies before it allows the app to run. If there is no signature or if the signature is invalid, the app will not run.
So, you need to generate the iOS certificate and provisioning profile before building the iOS app.
You need to generate two iOS certificates, viz development and distribution. The major difference lies between them is that the development certificate is required to sign the development version of your app. For example, if you are building the app and want to test it by yourself locally, then you need to sign your app with the development certificate. The distribution certificate is used for signing your iOS app for submission to the App Store or for Ad Hoc distribution. If you want to submit your app to the app store for pushing it live or distributing it, you need to sign your app with a distribution certificate.
To generate the iOS certificate, first, you need to create the Certificate Signing Request (CSR) file. Once you have the CSR file, you can proceed to generate the iOS certificate by following the steps mentioned below:
Note: The distribution certificate is called ios_distribution.cer, whereas the development certificate you downloaded before is called ios_development.cer.
A bundle ID or bundle identifier uniquely identifies an application in Apple's ecosystem. In simple words, no two applications can have the same bundle identifier. To avoid conflicts, Apple recommends using reverse domain name notation for choosing an application's bundle identifier. Follow the steps mentioned below to create an identifier:
The identifier will be created and you can proceed to create a provisioning profile.
Now, you need to create a distribution provisioning profile. To do so, follow the steps mentioned below:
Now, you have a certificate and provisioning profile, you can upload the signing keys and proceed to build the app for submission to the app store.