How to distribute iPhone app to AppStore

I think that applying iPhone app for Apple AppStore is very confusing comparing to Android Market. So, I summarize the steps here. I wish this would help you to distribute your app to Apple AppStore as well as for me.

1. Create Certificate

1) Create CSR(Certificate Signing Request)

  1. Launch Keychain Access
  2. In preference,
    OSCP = Off
    CRL = Off
  3. [Certificate Assistant] – [Request a Certificate From a Certificate Authority…]
  4. Enter some information, saved to disk, let me specify….
  5. Certificate Assistant
    Key Size = 2048 bits
    Algorithm = RSA

2) Submit a CSR to Apple

  1. Login to iOS Provisioning Portal
    https://developer.apple.com/ios/manage/overview/index.action
  2. Go to [Certificate] – [Development] – [Add Certificate]
  3. Choose the CSR file. And submit.
  4. Go to [Certificate] – [Distribution]
  5. Download the linked file and WWDR Intermediate certificate.
    developer_identity.cer
    AppleWWDRCA.cer
  6. Double click the two file and launch Keychain Access.
  7. Select Keychain = login and click OK.

2. Register Device

  1. Connect iPhone to Mac and launch Xcode
  2. Select [Window] – [Organizer]
  3. Get a device ID.
  4. Go to the Portal
  5. Go to [Devices] – [Add Device]
  6. Put the name and ID on [Organizer] and submit.

3. Register AppID

  1. Go to the Portal
  2. Go to [App IDs] – [New App ID]
    Description = arbitrary
    Bundle Seed ID = Generate New
    Bundle Identifier = com.iappthat.*
  3. Submit

4. Get Provisioning Profile

  1. Go to the Portal
  2. Go to [Provisioning] – [Development] – [New Profile]
    Check the registered Certificate
    Select the registered AppID and Device
  3. Submit
  4. Download the file( xxx.mobileprovision )

5. Register the Provisioning Profile in Xcode

  1. Connect iPhone to Mac
  2. Launch Xcode and go to [Window] – [Organizer]
  3. Go to the device – [Summary] – [Provisioning] – [+]
  4. Select the Provisioning Profile
  5. Open Info.plist
  6. Put the registered AppID in [Bundle Identifier]
  7. Go to Project Setting
  8. Select the Provisioning Profile on [Any iPhone OS Device]
  9. [File] – [Save]

6. Distribution

  1. Create a certificate on Distribution and install in Keychain Access
  2. Create a Provisioning Profile on Distribution and download the file
    Select App Store
    Profile Name = arbitrary
    Select the AppID
  3. Launch Xcode and go to [Project] – [Edit Project Settings] – [Configurations]
  4. Duplicate [Release] to create a new configuration with the name [Distribution]
  5. Select [iPhone Distribution] on [Any iPhone OS Device]
  6. Open Info.plist
  7. Put the registered AppID in [Bundle Identifier]
  8. Build
  9. Go to iTunes Connect ( https://itunesconnect.apple.com/  ) with a developer license
  10. Go to [Manage Your Applications] – [Add New Application]
    Primary Language = English
    Company Name = iAppThat (The name on the top left side on appstore)
  11. Enter an App Information
    App Name = arbitrary (app name on appstore)
    SKU Number = arbitrary
    Bundle ID = Registered AppID
    Bundle ID Suffix = Bundle ID on info.plist
  12. Enter an App Information
    Availability Date = arbitrary
    Price = arbitraty
  13. Zip .app directory in project directory/Distribution-iphoneos
  14. Upload the zip file with Application Loader

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s