Heads up... You're reading this book for free, with parts of this chapter shown beyond this point astext.
You can unlock the rest of this book, and our entire catalogue of books and videos, with a raywenderlich.com Professional subscription.
So far, the chapters in this book have followed a narrative arc. You first learned how to upload a build to App Store Connect. You then mastered the art of code signing and provisioning. You learned how to distribute your build to internal and external testers using ad hoc distribution and TestFlight. And in the previous chapter, you learned how to prepare for App Review.
This chapter deals with what to do after you pass App Review. You might be wondering, is there anything left after Apple blesses your app for release? Wasn’t the whole point to get an app on the App Store?
Not only is there more to do, how you release and what you do after release can determine your success or failure. Think back to the app lifecycle diagram from Chapter 1, “The App Store”. This chapter covers what happens during the pre-release and post-release phases. The following diagram shows the app development cycle overview:
First, between the App Review and App Store phase, imagine a thin section called Pre-release for those who’ve opted to manually release, as the previous chapter recommended. The optional Pre-release phase is where you do your last-minute checks before releasing your app to the public.
At a minimum, you should have a release checklist that helps you click the Release button with confidence. The next section covers the best way to perform pre-release checks and what should go on your checklist.
Second, after uploading your app to the App Store and before a new Development cycle, there’s Analytics. This phase might sound like you can just kick back and wait for your numbers to come in. But in fact, Analytics might be the most challenging phase of all.
This is where your team answers the question “what should we do next?”, which informs the next app development cycle. Typically, product managers use the business context, resource constraints and customer feedback to create a road map.
Even though there’s no easy recipe for success, the second half of the chapter covers the different sources of feedback to monitor so you can make decisions with the best information available.
App Store Connect’s built-in tools for monitoring feedback only become useful after you’ve had an app in the App Store for some time. Therefore, you’ll look at the numbers for a real app called Math Ninja HD.
Smoke testing before release
Pre-release involves many small steps that must be done correctly. Here’s a classic oversight: Many apps depend on back-end systems. Sure, testing went smoothly in the pre-release staging environment, but did anyone remember to promote the app’s necessary changes to production?
If not, you suddenly have a situation where everyone who downloads your app from the App Store crashes on launch. As it turns out, you changed something so your app now expects data to come back in a new format, but is getting it in the old one. Whoops. That’s something you really want to catch before release.
In the previous chapter, you learned about the three version release options in App Store Connect: manual, automatic and automatic with a target date. When you choose the manual option, you get a window of time between approval and release in which you can perform last-minute checks. These are called smoke tests or sanity tests.
Creating a checklist gives you a systematic approach to minimize many common oversights.
Creating a checklist
Before diving into the checks to perform before release, take a detour to the world of medicine. Releasing an app is a complex and high-stakes endeavor, but no one would argue it’s more so than a life-or-death medical procedure. In his 2009 book, “The Checklist Manifesto: How to Get Things Right”, the surgeon, writer and public health researcher, Atul Gawande, writes about the need for checklists in increasingly complex fields like medicine and engineering.
Using promo codes
Back in Chapter 3, “Submitting Your First App for Review”, you manually picked one build among many to send off to App Review. But what if you’d clicked the wrong radio button? App Review doesn’t know one build from the next, so you could unwittingly release the wrong build.
Generating a promo code
Here are the steps to generate a promo code on App Store Connect:
Redeeming your promo code
To redeem the promo code, open the App Store app on your iOS device. Sign in, if you haven’t already, and tap your profile photo on the top right. Then, tap Redeem Gift Card or Code.
Monitoring your app
For the post-release phase, monitoring incoming feedback is one of the primary ways to figure out how you’re doing and what to do next.
Apple provides built-in analytics for all members of the Apple Developer Program. You don’t need to do anything to start using the built-in tools — all you need is an app on the App Store.
Built-in versus third-party analytics
When it comes to analytics, third-party tools can only tell you what happens after someone downloads and opens your app. If you want to know anything before that, such as App Store impressions, the built-in tools are your only option.
Crash reports are another important source of feedback. An app crashes when something unexpected occurs, usually because of a flaw in the source code.
Thread 0 Crashed: 0 mathninja 0x0000000104967a90 0x104118000 + 8714896 1 mathninja 0x0000000104967a74 0x104118000 + 8714868 2 mathninja 0x0000000104a449b0 0x104118000 + 9619888 3 mathninja 0x0000000104a446a4 0x104118000 + 9619108
Ratings and reviews
Ratings and reviews are another important source of post-release information. Users can rate your app on a scale from 1 to 5 stars and can also write a detailed review of your app for others to read.
Maintaining your app
Monitoring your app after release can help you figure out what to do in the short term, such as addressing a critical bug fix, as well as in the medium term, like adding a new feature. But what about the long term?
Minimum ongoing maintenance
Don’t expect your app to work for years and years without any work from you. The platform you built it on changes too quickly for that. Apple releases new hardware every year, as well as new versions of their operating systems and SDKs.
New technologies and opportunities
With every new hardware and software release, Apple brings forth new technologies and capabilities that third-party developers (that’s you!) can take advantage of. Here are a few notable examples from the past decade:
- Use the window of time between approval and release to perform sanity checks and smoke tests. This only works if you picked the manual version release option.
- Create a release checklist that includes everything you need to do before you go live.
- Generate and redeem a promo code to download a pre-release version of your app. Use it for your sanity checks and smoke tests.
- Monitoring feedback is an excellent way to figure out how your app should evolve over time.
- App Store Connect has built-in tools to monitor analytics, crash reports, ratings and reviews. There are also third-party tools that can help.
- At a minimum, release app updates to take care of basic app maintenance. You can also release changes that take advantage of the new platform capabilities Apple ships every year.