In this guide, we'll walk you through everything you'll need to set up and submit your iOS app to the App Store. We'll show you how to get an Apple ID which will get you access to Xcode, make you part of the Apple Developer Program, set up a certificate signing request, get a distribution provisioning profile, then show you how to submit your app through Xcode.

Being an Apple Developer is 100% free, but to submit your app to the App Store you'll need to sign up for the iOS Development Program which will cost 99$ USD per membership year.

In this tutorial, we'll show you how to:

  • Get an apple ID
  • Download Xcode
  • Enroll into the Apple Development program
  • Create an iOS Development/Distibution Certificate
  • Create an iOS Distribution Provisioning profile
  • Create an App Archive
  • Submit your app the App Store 

To become an Apple Developer you'll need an Apple ID. If you already have an Apple ID then you can skip ahead to the "Enroll as an Apple Developer" step below. If you don't have an Apple ID - no worries! Getting an Apple ID is easy. Create your Apple ID here.

At this time you'll need to fill in a little information. They'll ask you for an email, password, and you'll need to fill in some security questions like "What's the name of your first pet?"

It's very important that you give them an email that you frequently use, because Apple always sends out updates of your app that you've submitted.

Congratulations - you now have an Apple ID. Good Job! We still have some work to do.

Enroll as an Apple Developer

Now we need to enroll into the Apple Developer Program which will alow you to subit your apps to the App Store.  Note: this next part of the process will require payment of $99 fee for a one year membership.

Creating an Apple ID automatically gives you access to the Apple Developer website. Log in to the site here. There is a TON of information that you can access without even being registerd in the developer program. Check out the Documentation tab that's available on your profile page.

After getting familiar with the developer site, click on the "Join the Apple Developer Program" link located at the bottom of the screen.

On the next page that loads, click on the "Enroll" button in the upper right corner.

The following page will let you know the difference in choosing to work as an Individual or as a Company.

Click on "Start Your Enrollment"

Choose your Entity type, for this tutorial we'll be developing as an Individual.

Alright, you know the drill. You'll need to enter your information.

Now you'll need to agree to the terms. Make sure you check this out. Check the box, then click Continue.

Make sure your info is correct, then hit Continue.

Automatic Renewal: Ok, make sure you read this. You don't need to have the Automatic Renewal feature in order to continue. If you just want to try out your first year, then just hit Purchase without checking the box. If you change your mind, you can update this setting on the membership tab. Once you're on that screen, look at the bottom. You should be able choose if you want that feature or not.

Ok, after clicking "Purchase" you'll need to sign in one last time ... I promise.

This is where you'll pay for your membership.

Answer some billing inquiries...

Once you've finished all that, you're done! You should receive a confirmation email notifying you of your yearly membership. Congrats! Now you are able to submit your apps onto the Apple App Store!

Technical Support

Once your registered in the Developer Program, you can receive help from Apple Support Engineers. If something is going wrong with your code, they'll gladly give you a helping hand. But keep in mind that you are allowed 2 incidents per membership. So use these resources wisely!

Xcode is an IDE which stands for Integrated Development Environment, here is where you’ll use editors, compilers and other tools to help you manifest your iOS Apps or Desktop applications. 

With Xcode not only will you be able to create mobile applications, you're also able to make apps for your Mac computer. But to get started you'll only need a few things...

  • First, you’ll need a Mac computer running OS X 10.11 (El Captain) or later. (Xcode is not compatible with Windows or Linux OS)
  • It also requires 3.80 GB of space
  • If you don't have a Mac computer, there are ways for you to still participate, you'll just need to be ... creative. 

First thing first - head over to the App Store and download Xcode here.

Once you've downloaded Xcode, open it up and look around a bit. This guide will show you the basic interface of Xcode so you can get started right away!

Welcome to Xcode!

Let's get started... 

When you first launch Xcode, you may be asked to "Install Additional Components" - go ahead and say yes.

 

Once Xcode has finished launching, select Create a new Xcode project.

For right now select Single View Application then click Next..

Fun Fact: Many apps you currently have use a single view, like the Weather app.

Now you'll need to add your App name. We'll just go with Test App for now.

Organization Name which will be your company name.

Organization Identifier - with this you can put almost anything you want. It just bundles together your info to give you a unique identifier.

Choose the programming language you are planning on using, Universal Binary and check all three boxes.

Then hit Next.

Now choose a place where you'd like to save your project.

If it isn't already checked, check off the Create Git repository option and then hit Create

Note: It's very useful to have a Git repository. If you are not familiar with Git, you can have a quick look at getting started here: Learning Git

Ok! That's it - you've now created your first Xcode project!

We won't get into the details of writing code for iOS here but you can find a number of resources online to help you get started.

In order for you to efficiently develop your apps, it's a good idea to have your prototype app on your actual device ... also how cool is it to see your functioning app on your mobile device?

In order for you to do this you'll need to have two Apple certificates. This is no problem. Go to your Account page on the Apple Developer website and you'll see a "Certificates, IDs & Profiles" tab. Click on it.

Development Certificate

Right now, we're going to gather two different things - a development and a distribution certificate.

On the Certificates, IDs & Profiles page, on your upper right you'll see a "+" button - click on it.

Now you should see this page. Choose iOS App Development under Development for your certificate type then click Continue

Next page will be about creating a Certificate Signing Request (CSR)

Now we need to generate a CSR with Keychain Access. Way up, on the upper right where your status bar is, you see a magnifying glass icon, this is Spotlight. Open Spotlight, then type in Keychain Access then open it up. 

Alternately you can go through the Finder search system

When the program is open, Go to the drop down Keychain Access menu > Certificate Assistant > Request a Certificate From a Certificate Authority

You'll need to enter your e-mail address and name. Make sure you choose Saved to disk not Emailed to the CA then click Continue

You can save it anywhere on your computer, I choose the Desktop.

Great! Ok, now go back to you Development page at the CSR page you were at, then click Continue at the bottom of the page

Alright, now you are going to find that CSR that we just got and upload it.

Hit Choose File...load it up and click Continue

Alright, you should now see this page. Click Download then find the file (probably in your Downloads folder) and open it up by double-clicking. It should open up Keychain Access. If nothing happens, it was probably already added, if not and an Add certificate screen popped up for you, just click Add.

Distribution Certificate

Now since we have a certificate for our development profile, now we need one for our distribution profile. We going to do this process again but this time it'll be much easier. Now, click on the Add Another button. 

This time under Production choose App Store and Ad Hoc

Continue on just like before, you can reuse your CSR file! Once you've gone through that process again, you're all done.

You can exit the Keychain Access screen.

Now we are going to register your iOS device for testing apps. This will let you test your apps on real hardware

Go to your main Developer page and into the Certificates, Indentifiers & Profiles subpage. Under the Devices tab, click All, then hit + in the up right corner.

Enter your device name and UDID.

An easy way to get your device UDID is through iTunes. Make sure your device is connected to your computer, then in iTunes, go to your device summary. You should see UDID: 

If you don't see the UDID, you may need to click on the Serial Number

The UDID is a crazy long set of numbers and letters. Copy that UDID number and paste it into the UDID field on the Registration page.

Choose and enter a name for your device.

At the bottom, click Register. Once you've done that, thats it! Your device is now registered and can be used for testing with your app.

Onward!

This step is SUPER easy!

Basically, every app needs a unique bundle identifier so that your app can be found out of the millions of apps in the App Store. The App ID is made up of 10 characters given to you by Apple as a prefix + an additional string of your choosing.

Ok, at the main page on the Apple Developer Website, click on the Certificates, IDs & Profiles tab. Then click on the App IDs tab.

Above you'll see I already have a few App IDs.  To create your first ID, click on the + button in the top right

This is where you'll add your product or app name. After you enter your App ID Description name make sure that you choose Explict App ID also remember to use a reverse domain name string for this (It's recommended)

You can use the default App Services (they're adjustable later) and Continue & Register. Once you're done with that, you can now proceed to creating development & distribution provisioning profiles.

In order to distribute an app, there needs to be an individual, a group or company to claim ownership of it and that's where the Distribution Certificate and a Development Certificate will be needed. It's job is to authenticate and identify you as an individual or your team in a Distribution Profile to present your app to the app store. 

Development Profile

Now we’re going to create a development provisioning profile.

You'll need a provisioning profile in order to release any content onto the Apple App Store. Addtional infomation on iOS Provisioning Profiles can be accessed here once you've signed in to your Apple Developer Account.

Login to your iOS Developer Portal then click on the Certificates, ID's & Profiles tab (this should be your favorite page by now!)

Once you're there, scroll down to "Provisioning Profiles", then click on All

Click the [+] button to the right of the Add iOS Provisioning Profiles title.

On the next page, you'll choose your type of provisioning profile. Under Development, select iOS App Development, then hit Continue.

Next you'll be asked to select an App ID - choose the one you created in the previous step of this guide.

Now select your iOS Development Certificate which we created previously. Then hit Continue.

Next select your iOS device or devices which we registered earlier...

Now you'll need to choose a profile name. Something descriptive like - My App Distribution Profile should work.  Next, hit Continue

It will be created, all you have to do is Download it

Now just hit the download button, then your Development Provisioning Profile will be downloaded to your hard drive. Drag the downloaded file onto the Xcode's app icon to install it.  

Well done! Just one more profile to go…

Distribution profile

To create your Distribution Provisioning Profile, follow the same steps as above but choose App Store Distribution as the profile type and name the profile as My App Distribution Profile.  Remember, we need each type of profile to match its certificate.

Go through the whole process including downloading and dragging the profile onto XCode

Once you have both your Development and Distribution provisioning profiles created, downloaded, and installed you're ready to move on to the next step.

Before going farther into this guide, it'd be best for you to test your app on your device or Xcode's Simulator. Below we offer a free sample app for you to download and test. 

Download and unzip the sample app that we've provided above, then open up Xcode if it isn't open already, so we can get started. If you already have an app that you'd like to test, you can test that instead.

Once you've opened the app you've chosen within Xcode, locate your Project navigator then click on your Root Project node as seen below.

Once you've selected the Root Project node, you should see a catagory called Identity. Make sure that your Bundle Identifier field is filled in with a unique bundle identifier name. If it's left blank you'll receive an Invalid Argument error when you start to run your app. Also if it's not already selected choose your account within the Team section.

Below that you'll see your Development Info catagory. Make sure you set Deployment Target to 9.3 or higher if available.

Ok, we are almost ready to build. Before we hit run we'll need to select our device in the Device Scheme thats located in the upper left area of the  screen.

Once you've done that, hit the Build button that looks like a play button or hit ⌘R.

If Xcode doesn't recognize your device make sure your Team account is selected under the "Identity" category then reset Xcode

Once you've hit the Build button, you should see the app display on your device.

You can do the same in Simulator. Instead of choosing your device in the Scheme Chooser, you can choose various iPad and iPhone versions that will run your app within Simulator. Once you've selected a device version hit ⌘R. This will launch the simulator so you can try out the fancy new app and also take screenshots you'll need!

To make screenshots of the simulator hit ⌘S within the IOS Simulator. Remember this step, you'll need to make screenshots of your app later on in the guide.
You might encounter a Developer Disk Image error. To fix that you'll need to update your software. Make sure you're running El Captain so that you'd have the most recent version of Xcode so that it'd be able to use your mobile device.

Now you'll need to manage your provisioning and distribution profiles within Xcode. Go to the Xcode drop-down menu and select Preferences.

While you're on the Preferences page click on the Accounts tab. Once you do that you'll need to add your Apple ID. At your bottom left you shoud see a [+] button -  click on it and select "Add Apple ID"

You'll need to add your Apple ID info here...

Now that you've signed into your Apple ID, you'll need to download your provisioning profiles that we made earlier. On the same page click the "View Details..." button.

Here you can download your Provisioning profiles and Signing Identities. Click on the "Create" buttons next to your signing identities. If your account has any uninstalled provisioning profiles, you can download them individually or all together with the "Download All" button on the bottom left. Go ahead and click the "Download All" button then hit "Done" when you're finished.

Once you're done that, we'll be ready to submit your app to iTunes Connect.

 

You’ve seen the Provisioning profile page, but what is iTunes Connect? It’s a dashboard that allows you to manage your apps, view reports of your performance in the App Store, manage your contracts and more. When you enroll in the iOS Developer Program, you’ll have access to iTunes Connect as well.

Note that this is not the Connect from within iTunes the app but rather the developer version available from when you log into your developer account!

projects_Screen_Shot_2016-07-15_at_3.02.00_PM.png
What you see when you login to iTunes connect.

First, click on "My Apps" in the upper left.

On the next screen, click the  [+] button.

From the drop down menu choose "New App".

Now you just need to enter your app information...

Once your App information is entered, you'll be able to continue by clicking the "Create" button. Now the app detail screen will appear, here you'll need to add some more information. 

Now that you've created your app listing, you'll be able to submit your app to the App Store via Xcode.

This is the final step in the app development process. Here, you should double check all your information. 

After you've added your additional information, make sure you save it by clicking the Save button on your upper right.

Now proceed to the Pricing and Availability tab on your left. Here is where you'll choose how much you'll charge your customers. Don't forget to save when your progress when you're done!

Preparing for submission to iTunes Connect

You'll need to make screenshots of your app which can be done using the iOS Simulator.

Note: You're required to upload screenshots of your app before submitting it to the App Store.  App screenshots can be captured while running the your app in the iOS Simulator and hitting Command+S. You'll need to create a screenshot for each mobile device depending on its screen resolution.

Your next step requires you to have a description for your app and special keywords so that your app can be found in the App Store.

In General App Infomation you'll need to add your App icon. It must be 1024 by 1024 pixels, any other size will not do.

In the Copyright field you can just add your company name or your name.

You'll also enter your address and contact info.

You'll need to add your contact info here again. This area is for the person reviewing your app, this way they'll know how to contact you. You can also leave a note for them.

Now you can use the Version Release to choose when you want your app to be released. You also have the option to release the app as soon as it's approved or at a specified date.

 

Now you need to upload your app from Xcode to iTunes Connect.

In Xcode make sure your device is selected in the device and simulator scheme before Archiving your app.

Under the Products drop down menu in Xcode, select click on Archive.

This screen will pop up. Choose the app that you're planning to use, then Hit the Upload to App Store... button.

Choose your Development Team to use for provisioning...

Now you can Upload your App to iTunes Connect.

If we did everything correctly, we'll be able to upload the binary to finish the certification process. Once your upload is successful, head back to your App information page.

 

Scroll down to your Build setting. Click Select a Build before you submit your app. Then select your Build.

You might need to wait a few minutes for your app to upload.

Now is a good time for you to double check your info and make sure you have everything Apple asked you for. Now go to the top of the page to save your progress.

When you're done getting things in order just hit "Submit for Review", kick your feet up and wait for Apple to review your App. The wait time varies, it can take a few days to a week or two. But after that if everything works out you'll have your own App in the Apple App Store. Great Job!

 

This guide was first published on Aug 16, 2016. It was last updated on Jul 12, 2016.