Back to writing
engineering2 min read

Apple rejected my app. The reason still makes me wince, because it was completely fair.

Apple rejected my app, and the reason was fair

Rob Vasquez·

Apple rejected my app. The reason still makes me wince, because it was completely fair.

I built CrowdLens, a React Native and Expo app for sharing event photos. Guests join an event with an access code, upload from their camera, and see a moderated shared gallery. It worked on my simulator. It worked on my phone. Then a human reviewer at Apple typed in the demo access code I'd put in the review notes, and it didn't exist in production. Rejected under Guideline 2.1.

That taught me something building never does. Shipping to a real store is a different sport. The reviewer is a user, and your production environment has to match the story you told them. "Works in dev" is not "done."

Getting through the gate meant real compliance work: account deletion so a user can erase themselves (Apple 5.1.1), a privacy manifest declaring every API I touch, permission strings that explain why I want the camera, and an EAS build and submit pipeline that produces a signed binary the store will accept. I seeded the demo codes, resubmitted, and moved on wiser.

Most engineers never ship to a store and never learn this. I have the scars.

Shipping a React Native app to the App Store or Play soon? Ask me where the landmines are.

ReactNativeExpoiOSMobileDevelopmentAppStore

Need a practical path to AI-enabled delivery?

Start with a fixed-price AI-readiness audit and leave with a concrete roadmap.

View the AI-readiness audit