1. Create a distribution
provisioning profile for your app
In the previous blog, you created a development provisioning profile. Well, now
we’re going to create a distribution provisioning profile!
The difference is that for the
development profile, you can specify multiple development certificates so that
multiple developers can create a build.
With the iOS distribution
provisioning profile, you can only specify one distribution certificate which
will be the only signing identity used to code sign your app when you generate
the archive (the package you submit to the App Store).
So login to your iOS Developer
Provisioning Portal and go to the Distribution
Provisioning Profiles section.
Click the Plus icon in the upper
right to create a new profile and then choose App Store as the type.
Click “Continue”.
Select your App ID from the drop down list and click “Continue”.
On this screen, you should have a
distribution certificate available (we requested one together in the
last tutorial for deploying your app). Select it and click “Continue”.
Finally, name the profile and
click Generate.
Now you can can download
the profile and double click to install it.
2. Build an app archive
Open up your app project in
Xcode.
Before we build an archive to
submit to iTunes Connect, let’s go through a little checklist to make sure that
we’ve got all our “ducks in a row”.
•
Make sure that you comment out
all of your NSLog statements or use a setup like this
•
Have you tested your app on an
actual device? What happens to your app when a call comes in or when the user
exits the app and then re-enters? Does your app perform in 3G or bad network
connectivity situations? Test for edge cases like that.
•
If your app supports iOS 6, have
you tested your app in the iOS 6 simulator and an iOS6 device?
•
Have you added an app icon and
splash image to your app?
These are some of the things I
can think of off the top of my head right now. If you think of anymore, let me
know in the discussion below and I’ll add it!
iOS Certification Process (App
Review)
Once submitted, your app will go
through a certification and app store review process to ensure that it doesn’t
violate any rules, that it functions well and is not malicious.
The latest app store review
guidelines on how Apple reviews your app is located here: App Review Guidelines.
After ensuring that your app
follows those guidelines, click the root node of your project in the file
navigator to go to the project settings.
Then click the Build Settings
tab and scroll down to the Code Signing section.
Choose the iOS Distribution
setting. This is an automatic setting, meaning that it picks the Distribution
Signing Identity automatically. If you have multiple distribution signing
identities then it may be better to explicitly select the one you want to use.
Now, we want to create a Release
build and submit it to the App Store.
Change the deployment target to iOS
Device
Then go up to the Product menu
item and select Archive:
Your app archive will be created
and the Xcode Organizer will launch, showing you all the archives that you’ve
created in the past.
At this point, we need to switch
gears and go into the iTunes Connect portal to set up our App Store
listing with all of the information. After that, we’ll go back into the Xcode
Organizer and submit the app through Xcode.
3. Create an app listing in
iTunes Connect
You’ve seen the iOS Provisioning
Portal, but what is Apple 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 iPhone developer program, you’ll have access to iTunes
Connect as well.
We’re going to click Manage
Your Apps.
On the next screen, click the
blue Add New App button.
App Information
Select the bundle ID that corresponds to the app that you want to submit (we created
an App ID and bundle id together in the article mentioned in the beginning) and
type in an app name.
The SKU Number is just for your
own reference or cataloguing. Just like products that you buy in a store have a
barcode, this app SKU number is like that and is used for your own purposes to
identify your product.
After you’ve filled in the
information, click Continue.
App Availability and Pricing
After the app is certified, if
you want it to be available immediately, you can leave the date set to today.
At the point it passes certification (days or a week later), if the
availability date has passed already, then the app will be made available in
the store (usually about 24 hours after passing certification).
If the availability date hasn’t
passed yet when the app passes certification, then you can wait for the date to
pass or manually release it into the store through iTunes Connect.
For pricing, if you’re going to
be selling your app for a price higher than Free, you’ll have to sign some
contracts and add a bank account in order to get paid. It’s not something that
we’re going to go through in this article but all that stuff is under
“Contracts, Tax, and Banking” in the iTunes Connect dashboard.
The rest of the options are
pretty self explanatory so I’ll skip them. You can click the little question
mark to get more information on each option.
App Version Information,
Metadata, Contact, EULA and Art Assets
This screen is where you’ll fill
in the bulk of the information for your app.
It’s extremely helpful to click
the little question mark bubble beside each field to get hints about what Apple
expects you to fill in for each box.
Version Number : Fill in the same version number as you have in the project
info settings of your app.
Copyright : You can fill in something like “2014 Code With Chris”
(substituting your own values for year and name)
Primary Category and Secondary
Category : Select the most appropriate
categories for your app.
Rating : Answer the questions they ask and the rating for your app
will be determined.
Description : This will be the description that’s shown for your app in the
iTunes App Store. You want to be descriptive but don’t be deceptive or you
won’t pass certification because of misrepresentation. For example, if your app
is about Angry Birds, don’t describe what Angry Birds is or people might
mistake your app for the actual game.
Keywords : Fill in the keywords that you want your app to show up for.
You only have 100 characters so don’t use any spaces (use commas to separate
keywords) and try to fill in and fit as many relevant keywords as you can think
of for your niche. There are a bunch of App Store keyword research tools out
there if you want to go that route too. I haven’t used any before so I can’t
comment on them.
Support, Marketing and Privacy
Policy URLs : Hopefully, you’ve got a
website or somewhere you can direct users to in order to find the
aforementioned pieces of information.
Contact Information : If the app reviewer needs to contact you, they’ll reach you
with this information.
Reviewer Notes and Demo Account : Make it easy for the reviewer to go through your app! Give
them any instructions here and if your app requires a login to use, provide a
demo account rather than making them sign up for it.
Uploads : Provide the art assets for your app listing in the App Store.
Click the question mark bubbles to find the dimensions required for your
assets. Don’t forget that you can use the iOS simulator to generate your
screenshots. Launch your app in the simulator and press CMD + S to save a
screenshot to your desktop.
Finally, click Save!
It’ll back out to the saved
listing and you’ll see near the bottom that your app has a status of “Prepare
for upload”.
Click the app icon to go into the
details and in the upper right hand corner, you’ll see a blue button that says Ready
to Upload Binary. Click that blue button and you’ll be presented with a few
questions.
These questions may change but at
the time of this writing, they ask if your app incorporates any encryption,
third party content and if you’re utilizing the Advertising Identifier.
For encryption, if you didn’t
write any code to perform encryption and you didn’t use any of the Objective-C
libraries to encrypt data, then select No.
For third party content, if your
app displays content that doesn’t belong to you (for example, an app that
displays YouTube videos), then select Yes.
For the Advertising Identifier,
if you’re not sure what this is, then you probably didn’t use it and you can
select No (unless you purchased your source code, in which case you should find
out!)
Click Save and you’ll see
the status change to Waiting For Upload.
Now we go back into Xcode 5
to perform the last step!
4. Submit your app through Xcode
5
Warning! Did you make sure that your app status to “Waiting for upload”?
If not, it the following section won’t work apply to you. Go back a couple of
paragraphs and change your app status to “Waiting for upload” first!
Back in Xcode 5, open the
Organizer if you closed it from the earlier step (pressing SHIFT+CMD+2 or going
through the menu Window->Organizer).
Go to your Archives tab
and select the archive that you created earlier for upload.
Then click Distribute
(it’ll run through the validation too).
Use your iTunes Connect login to
sign in and it’ll look to make sure that you created a matching App Listing.
Then if all goes well with the
validation, it’ll proceed to upload the binary for certification! After uploading the binary, if
you go back to you iTunes Connect account, you’ll see the status of your app is
now Waiting for Review.
In my personal experience, it’s
taken a few days to a week to get the app into the review process. You don’t
need to check the status everyday because you’ll receive an email when the
status changes.
Hopefully, you pass on the first
try; if not, don’t worry, it’s not uncommon to fail the first try especially if
your app is complex. They’ll tell you what’s wrong with it and then you can fix
the issue, increment the version number and re-upload a binary and wait for
another review!














0 comments:
Post a Comment