Brandon Kessinger

What the App Store actually does.

Every post here is something that cost me days to work out and takes you ten minutes to read. No launch retrospectives and no revenue screenshots. Just the mechanics, with the API calls that worked.

Posts

newest first

The first posts go up shortly. Each one is drafted from notes I kept while the problem was still live, which is why the details are right. Here is the queue.

Review and submission

queued
A Resolution Center reply is not a resubmission Eighteen days sitting in a queue that was empty, and the API sequence that actually resubmits.
Rejected twice for 2.1(b) because the reviewer could not reach the purchases Gating in-app purchases behind game progress a reviewer never makes.
Your first in-app purchases must ship attached to an app version Why submitting them alone is refused, and the one submission that carries all three items.
A version can look submitted while nothing holds it Check the review submission state, never the version state.

Signing and build

queued
Every signing error message points the wrong way A missing certificate reads as "No Accounts". A locked keychain reads as an internal component failure on a random framework. How to diagnose it properly.
xcodegen was silently overwriting my version numbers Every binary shipped as 1.0 build 1 regardless of what the lane stamped.

Discovery and measurement

queued
A keyword change raised my impressions sevenfold and cut downloads to a fifth Impressions are not the scoreboard. Judge ASO on downloads.
You get 70 custom product pages per app, each with its own keywords Each carries its own keywords, ships without an app update, and is automatable through the API.
The free App Store surfaces that sit unclaimed In-App Events appear inside search results, Game Center gates the Top Played chart, and the Small Business Program is a form and a permanent raise.
Pulling Apple analytics without the web UI Which reports are useful, which return zero instances forever, and the four levels of indirection to the actual data.
Never gate an analytics event behind a session fetch Nine completions in the database produced four events, and every rate computed from them was wrong.
Counting installs honestly Device identifiers are not people, a second account on one device stays one person, and how to tell Apple's reviewers from your users.