App Review Is Slowing to a Crawl While Scam Apps Sail Through
When a scam developer can push 368 approved submissions in a year while a known indie waits 12 days, the review bottleneck isn't just slow — it's misallocated. AI-driven submission volume will only grow, so any developer shipping to the App Store has a stake in whether review moves toward risk-based triage or stays a one-size-fits-all queue.
Jeff Johnson surfaced a Mac App Store extension with AI-generated screenshots, a fake 4.9 rating, and reviews predating its release — from a developer who racked up 368 approved submissions in a year. At the same time, Marco Arment's new app sat in review for 12 days. The bottleneck is structural: AI slashes the cost of producing apps and iterations, so both legitimate and high-risk submissions flood the same queue, and the current model treats each one as an isolated event.
A proposed fix borrows from credit scoring: developers with clean histories get streamlined checks, freeing reviewers to dig into high-frequency, bulk, or anomalous accounts. Critics warn this could tilt the field toward incumbents and paying developers, raising the barrier for newcomers. The counterargument is that good standing wouldn't mean skipping review — just fewer redundant checks — while flagged accounts wouldn't be banned, just examined more deeply.
The underlying shift being debated is whether App Review should move from single-point "review" to behavioral judgment, where submission frequency, app similarity, and metadata anomalies feed into risk assessment. That conversation is happening alongside a wave of Swift and Xcode tooling updates: Xcode 27's headless MCP server enables a full prompt-to-simulator loop without the IDE's UI, iOS 26's DataDetector replaces NSDataDetector with a modern async Swift API, and ContinuousClock offers a reliable alternative to Date() for measuring elapsed time.
The review bottleneck is a downstream consequence of AI lowering app production costs: more submissions hit the same fixed-capacity review pipeline, and the current per-submission model has no mechanism to distinguish a serial scammer from a first-time indie.
Johnson's credit-score proposal and the pushback against it mirror a tension that appears in every platform marketplace — efficiency through reputation versus openness to newcomers — and App Review is now hitting that tension at scale.
Headless Xcode via MCP represents a step change: a coding agent can now drive the full build-run-verify loop without the IDE's UI, which makes CI and agentic workflows on macOS far more automatable.
The shift from `Date()` to `ContinuousClock` for timing is a small API change that corrects a widespread category error — using a wall-clock timestamp to measure duration — and the fix has been available since Swift 5.7 but remains under-adopted.
Using XCUITest to generate marketing assets from the real app, not mockups, turns testability into a cross-functional asset: the same deterministic UI state that serves a test also serves a screenshot, a demo, or a localized promo video.