<h2>Essentials</h2>
1. Developer Account (Paid)

2. MAC device with OSK compatibility

3. Current command line tools and Xcode.
<h3>Steps</h3>

<b>A. Creation of a Distribution Certificate</b>
<p style="text-align: justify;">In order to upload applications on the app store, you must create an iOS distribution certificate</p>

1. Visit the official website of Apple Developer ((http://developer.apple.com/)
<img src="https://www.logicspice.com/wp-content/uploads/2016/08/visit_site.png" alt="visit_site" width="1277" height="142" class="alignleft size-full wp-image-2471" />
<div class="clr"></div>
2. To Log in the Developer account, click member center button in menu bar.
<img src="https://www.logicspice.com/wp-content/uploads/2016/08/login.png" alt="login" width="475" height="334" class="aligncenter size-full wp-image-2473" />

3. Go to Certificates, Identifiers & Profiles
<img src="https://www.logicspice.com/wp-content/uploads/2016/08/cirtificate.png" alt="cirtificate" width="1036" height="422" class="alignleft size-full wp-image-2476" />
<div class="clr"></div>

4. Under the title, you will find a option named “Certificates”, click on “All”

5. Select + icon on the top right side of the box to add new certificate. Make sure the drop down in the upper left says iOS,tvOS, watchOS.
<img src="https://www.logicspice.com/wp-content/uploads/2016/08/completecirtificate.png" alt="completecirtificate" width="544" height="500" class="aligncenter size-full wp-image-2478" />

6. Under the production tab, click on app store & Ad Hoc button and then click on continue.

7. Further, generate certificate signing request (CSR) by using Keychain Access. Moreover, next step will guide you through the process.
<img src="https://www.logicspice.com/wp-content/uploads/2016/08/keychain_access.png" alt="keychain_access" width="680" height="430" class="aligncenter size-full wp-image-2480" />

8. Followed by the guidelines, in your mac device, click on the button Keychain Access then click on Certificate Assistant then click on “Request a certificate from a certificate Authority”.
<img src="https://www.logicspice.com/wp-content/uploads/2016/08/request_a_cerificate_for_a_certificate_authority.png" alt="request_a_cerificate_for_a_certificate_authority" width="700" height="226" class="aligncenter size-full wp-image-2481" />

9. To further proceed, you need to enter the e-mail address which you used for Apple’s developer account. Along with it, add name and leave the field “CA Email” blank. Click on “Saved on disk” and “Continue”.
<img src="https://www.logicspice.com/wp-content/uploads/2016/08/Cirtificate_assistant.png" alt="Cirtificate_assistant" width="616" height="436" class="aligncenter size-full wp-image-2482" />

10. The forthcoming screen will ask the location where you want to save a file. Resuming after step 5, click on continue button and upload that file which you recently created. Click on Generate
<img src="https://www.logicspice.com/wp-content/uploads/2016/08/add_cirtificate.png" alt="add_cirtificate" width="457" height="500" class="aligncenter size-full wp-image-2483" />

12. Please keep XCode open and download the certificate when the next screen pops in as mentioned .To open it in XCode, double click on the certificate.
<img src="https://www.logicspice.com/wp-content/uploads/2016/08/cirtificate_is_ready.png" alt="cirtificate_is_ready" width="458" height="500" class="aligncenter size-full wp-image-2484" />

<b>B. Create Apple ID</b>
Apple ID is created so that your app is uniquely identified in the App Store. It is mostly written in reverse domain. For example: If in case the name of your app is My XYZ and the URL of your company is real.com, then the bundle identifier will be com.real.my-xyz-app1. 
1.  From figure 9, you can find your bundle identifier which can also be found in XCode. 
<ul>
<li>Open the project and click the name of the project in the navigator area.</li>
<li>The project settings will be displayed on the right side. Click on the app name displaying beneath the tab “Targets”</li>
<li>Make sure that “General” tab is opened in the dialogue box.</li>
<li>Beneath it, you will find the Identify pane and bundle Identifier below it.</li>
</ul>