Step by Step procedure to Upload iOS Binary to App Store


Initial Settings:-
  1. Go to the project and open info.plist. Check whether the bundle identifier(com.yourcompany.appname) is correct.
  2. Go to Project settings->Targets->Summary and change the version number to the desired value.(Do not provide any characters), check the deployment target and double check the bundle identifier.
  3. Check the deployment target in Project Settings->Project->Info
Creating a Distribution Provisioning Profile for Your App
  1. Create a distribution profile in the iOS Provisioning Portal with these characteristics:
  2. The app name in the name of the provisioning profile is optional.
  3. The app ID can identify a specific app or an app domain.
  4. Download the distribution provisioning profile.
  5. Install the distribution provisioning profile in your provisioning profiles library:
  6. Drag the <Profile_Name>.mobileprovision file to the Provisioning Profiles list in the Library section of the devices organizer.
Configuring Your Project for App Store Submission
  1. In your project, duplicate the Release build configuration and name the duplicate “AppStore”. This can be done by going to Project Settings->Project->Info and then click on Release. Just below that, you can see a '+' mark. Click on '+” mark and then select “Duplicate Release Configuration”.
  2. Set the Code Signing Identity of the project to the app's distribution profile.
    • Go to Project Settings->Project->Build Settings
    • Go to Code Signing section.
    • Change identities in all sections(AppStore, Debug, Release) to newly downloaded app's distribution profile.(As explained in above section)
    • Double check to be sure that you have selected proper distribution profile.
  3. In the Project Settings->Targets, delete the Validate Build Product build setting specification for the Release build configuration. 
    • Apple says it as delete, but you cannot delete it actually. Just make it as “NO” for Debug and Release. Make “Yes” for AppStore.
  4. Go to Product menu->Manage Schemes and duplicate the scheme that builds your app and name the duplicate as “<App_Name>-AppStore”.
  5. Select “<App_Name>-AppStore” and press Edit.
  6. Select “Archive” section and change the build configuration to “AppStore”.
Create and Validate the Archive
  1. Select the AppStore scheme to build the project. (Next to Run and Stop button).
  2. Select the iOS Device option from the scheme toolbar menu.
  3. Choose Product > Archive.
To validate the archive
  1. In the Archives organizer, select the archive.
  2. Click the Validate button.
  3. Enter your iTunes Connect credentials and click Next.
  4. Select the app you want to share and the appropriate signing identity, and click Next.
  5. Review validation issues found, if any, and click Finish.
Submit the Archive
  1. In the Archives organizer, select the archive.
  2. Click the Distribute button.
  3. Select “Submit to the iOS App Store” and click Next.
  4. Enter your iTunes Connect credentials and click Next.
  5. Select the app you want to share and the appropriate signing identity, and click Next.