The previous chapter explained how difficult distributing software used to be before the Internet and before the App Store. Selling shrink-wrapped software on physical media is now a relic of the past, but it can still be a useful metaphor for explaining software distribution.
In this metaphor, Chapter 2 was about preparing the software to go inside the box. Previously, this would have been a CD or a floppy disk. In modern times, what’s “inside the box” is the build from Xcode.
This chapter is all about the box itself. If you think about it, the primary purpose of the box is to tell you what’s inside! It can answer questions like “what does this software do?” and “will it work with my computer?”. Furthermore, good packaging doesn’t just tell you what’s inside with good copy — it also communicates this to you with compelling and interesting images.
In the context of the App Store, the “shrink-wrapped box” is your App Store page. In this chapter, you’ll learn about App Store Connect and all the ways you need to configure your App Store page before releasing your app. You’ll use the same empty project from Chapter 2 to pick up where you left off.
Introducing App Store Connect
You’ve heard of the App Store before, but what about App Store Connect?
You can think of App Store Connect as the administrative dashboard for the App Store. Practically speaking, it’s a website (and a companion iOS app) where you submit apps for review and handle administrative tasks related to your apps.
Wait a minute — you enrolled in the developer program on the developer portal. Is the developer portal the same thing as App Store Connect?
Unfortunately, no. These are two separate systems that you’ll have to log into for different things. Having two different systems to manage your apps makes App Store distribution confusing for first-timers. Here’s an overview of what you can do in each one.
Apple Developer Portal: You can access the developer portal at developer.apple.com or via the Developer iOS app. In the developer portal you can create “identifiers” like app identifiers, developer certificates and provisioning profiles. If these don’t sound familiar, Chapter 4, “Code Signing and Provisioning”, covers certificates and provisioning profiles in detail. You also need the developer portal to download beta versions of Xcode and Apple’s operating systems.
App Store Connect: You can access App Store Connect via appstoreconnect.apple.com or via the App Store Connect iOS app. You typically need to go into App Store Connect to add new “app records” (more on this later), add new versions of your app, submit an app for review, manage users, sign contracts and interact with app reviewers.
Why are these two separate? Apple ran a developer program for decades before iOS and the App Store entered the picture. Also, remember that the App Store is one of many ways to distribute apps. You can still distribute macOS apps outside of the App Store. And on iOS, an organization can distribute internal apps outside of the App Store using “enterprise distribution”.
If you distribute apps outside of the App Store, you’d primarily interact with the developer portal rather than App Store Connect. As the name implies, App Store Connect is directly tied to App Store distribution.
Although Apple has recently moved the developer portal and App Store Connect closer together, the fact the App Store is newer than the developer program means that you need to get used to using two systems. Fortunately, the developer portal links to App Store Connect and vice versa, so it’s not hard to navigate between the two.
Note: App Store Connect used to be called iTunes Connect. You might still see the name “iTunes Connect” in old blog posts or forum posts.
Before diving into App Store Connect, you should know that it can do much more than what you’re about to see. Keep an eye out for the yearly “What’s New in App Store Connect” talk from WWDC to learn about the newest changes to App Store Connect.
The anatomy of an app submission
App Store Connect has so much functionality baked into it that it can easily overwhelm. First get a grasp of the bigger picture.
App identifier and app record
The top-most rectangle represents the app identifier and the app record. The app identifier, or App ID, uniquely describes an app across all Apple platforms. You have to create a new App ID every time you release a new app.
The left-hand rectangle represents top-level information that applies to the app as a whole rather than to a particular version of the app. What’s the app’s name? What does the app do? What category is the app in? These are the types of questions that app-level information can answer. You can also localize app-level information into other languages if needed.
The right-most rectangle in the diagram represents a specific version of your app. Each version includes an executable build as well as release notes, screenshots of your app and other metadata. You can also localize version-level information to other languages.
Creating a new App ID
Now that you understand the big picture, configure the sample app’s App ID and app record. Log in to the developer portal and click Certificates, Identifiers & Profiles in the left-hand sidebar.
Creating a new app record
Log in to App Store Connect and click My Apps.
Bumping the build number
A build from Xcode is like a snapshot of your app frozen in time. If you keep making changes after you archive a build, these changes won’t be reflected in the snapshot.
Filling out your App Store page
Switch to App Store Connect on your browser and navigate to the
raywenderlich.com app. As mentioned before, since this is a brand new app, you have to fill out app-level information as well as version-level information. Review each one in turn.
Adding app-level information
Click App Information on the left-hand sidebar. Under the heading Localizable Information type raywenderlich - pasi for the Name field. This is the user-facing name that shows up on the App Store page.
Adding version-level information
Click 1.0 Prepare for Submission in the left sidebar. This is where you add version-specific information. Every time you submit a version of your app for review, you’ll have the opportunity to update the information on this page.
Attaching the correct build
App Store Connect keeps track of all the builds you upload for a particular version. In this section, you can associate the build you want to submit for review — usually the most recent one — with your app version.
Wrapping up App Store Connect
Only a few more pieces of information before submitting for review.
Managing your submission on the go
This is a good time to formally introduce App Store Connect for iOS. You’ve been doing everything on the App Store Connect website, but there’s also a companion iOS app.
What to expect from app review?
Apple trains employees to screen every App Store submission that comes through. A reviewer’s primary goal is to make sure every app submission follows the App Store Review Guidelines as well as the Apple Developer Program License Agreement. Like any process involving human gatekeepers, parts of app review are subject to interpretation and can seem inconsistent. What might be ok for one reviewer might not pass muster for another.
- You need to set up an App ID in the developer portal and an app record in App Store Connect so you can upload a build from Xcode.
- Select your pricing strategy in App Store Connect. Tiers correspond to different amounts of money in different currencies.
- Pricing tiers only apply to up-front pricing models. Apps can also use In-App Purchases and subscriptions.
- You need to add metadata, screenshots and app previews (optional) to make your App Store page as appealing as possible. App Store Connect requires most of these items before you can submit your app for app review.
- App review can take up to two days in most cases. Trained human reviewers pore over your submission, checking for compliance with the App Store Review Guidelines as well as the Apple Developer Program License Agreement.