A Complete Guide to Deploy your IOS App | What Goes on while IOS App Installation | Part 4/4.
In this series, we have discussed different ways to deploy an IOS App using Test flight and ad hoc deployment methods. If you are new here, Please check the other parts of this series.
A Complete Guide to Deploy your IOS App | Introduction | Part 1/4.
A Complete Guide to Deploy your IOS App | Deploy your App using TestFlight| Part 3/4.
This last part will dive deep into understanding the steps involved in deploying an IOS App. Here, we will cover Provisioning Profile and Certs along with App groups and CSRs.
So, Let's get started.

This part will help you understand the installation process in detail. Please do not skip any steps.
Steps Involved :
1. Before the whole deployment process, you need a developer certificate from Apple. You need to enrol to the developer program and get the certificate. Once you get the certificate, you need to install it on your local using your public key, which you sent to Apple when requested. Make sure your key chains are all set up.
2. Once you have the certificates ready and your code is ready to be built, you need to open the Project workspace in XCode.
3. Now, you need to set up unique bundles and group names. These bundles are nothing but unique identifiers to your App, which also contains a unique App ID. All these bundles are mapped to app groups.
Note: If you don't pass the unique bundle name, XCode will complain to you with errors.
4. Now once the bundle names are all set and mapped to your Apple account properly, you need to build the app. While building, the bundle will be generated. This bundle will have 3 things —
1. A Provisioning Profile — this will be used later for code signing
2. Unique Device IDs where the app needs to be installed. This can vary based on the type of deployment you are going with. For example, for Ad hoc you need to register UDID manually to the Apple account and for Development, you need to invite the users.
3. App ID — This will be the unique identifier for your app.
5. Remember, this same bundle information which you will use to install the app, will also be there on the Apple account. Apple does not allow you to install any apps anywhere. They go through a thorough check and authentication.
6. Now, once the App is ready to be installed on a device and you have enabled Trust this App in your settings, Apple will check below things :
1. Whether the Provisioning Profile’s public key matches the one which Apple has.
2. Whether the device where the App is trying to be installed is registered to Apple. ( again saying, this step vary depending on the deployment process )
3. Whether the App ID matches the one which apple has in their list of bundles.
7. Once all the above steps are checked and verified, a code signing is done, which means going forward now, no more code changes will be allowed for the same bundle.
8. Now the app will be installed on a device.
These are all the steps involved in installing an IOS App.
To know all the steps for installing using Test Flight and Adhoc way, please read the below other parts.
Each part has backlinks for easier and simpler navigation.
This blog is always expanding with more concepts and as I learn more, I will keep adding them here.
A Complete Guide to Deploy your IOS App | Introduction | Part 1/4.
A Complete Guide to Deploy your IOS App | Deploy your App using TestFlight| Part 3/4.
Coming Up Next Sunday: Setting up Custom ESlint in your Project
Thanks,
Hariom Sinha | Developer | Learning And Growing
New Blog drops every Sunday