Shipping Expo & React Native apps
Practical notes on getting React Native and Expo apps through CI and into the App Store and Google Play — build gates, release engineering, and the parts nobody documents.
Posts
-
2026-10-14
Before you upload: the app-store rejection checklist
The recurring reasons App Store and Google Play reject submissions — and how to check each one first.
-
2026-10-14
Add CI to an Expo app in 10 minutes (GitHub Actions)
Lint, typecheck, and Jest on every PR — no simulator required.
-
2026-10-14
Two build gates that make RN quality non-negotiable
A screens gate and an acceptance-contract gate that fail your build instead of shipping bugs — with code.
-
2026-10-14
Fixing the Google Play “16 KB page size” rejection
Why your React Native app gets rejected on Android 15+, and the fix that actually works.
-
2026-10-14
Ship an Expo app to TestFlight without EAS
The local Xcode pipeline for archiving and uploading — and the gotchas that cost the most time.
Tools
store-check
A dependency-free CLI that checks an Android
.aab/.apk for the Google Play 16 KB page-size requirement —
and exits non-zero in CI if a native lib is misaligned.
npx github:nwebersoftware/store-check ./app-release.aab
ipa-check
Audits an iOS .ipa for App Store
submission pitfalls — build numbers, the export-compliance key, the privacy manifest, and iPad
orientation gaps.
npx github:nwebersoftware/ipa-check ./YourApp.ipa
Get new posts
One email when a new post ships. No spam, unsubscribe anytime.
The gates above, plus CI and local iOS/Android release scripts, ship in a ready-made Expo starter.
See the starter