Insights · 5 min read
Why an old React Native or Expo app won't build anymore (and what fixing it involves)
By Austin Hunter ·
Many small business apps are built with React Native or Expo, and that's a good choice: one codebase for iPhone and Android. We build and maintain several apps this way. The catch is that these frameworks, and the stores, move every year. An app left alone for a year or two often can't be rebuilt as-is.
Why it stops building
- The stores raise their minimums yearly. Apple now requires builds made with recent Xcode and SDK versions, and Google Play requires a recent Android target API level for updates.
- Newer Xcode and Android tools drop support for older framework versions, so the old app's toolchain stops working.
- Third-party libraries (maps, payments, notifications, analytics) release breaking changes or stop supporting old versions.
- Build services retire old images over time.
What an upgrade usually involves
- Moving React Native or the Expo SDK forward, sometimes several versions, one step at a time.
- Updating or replacing libraries that no longer fit.
- Fixing what the new platform rules change: permissions, notifications, background tasks, screen sizes.
- Testing on real current devices, then resubmitting to both stores.
For an app that's a version or two behind, this is usually a contained job. For one that's several years behind, it can be a small project, which is still almost always cheaper than a rewrite.
Watch out for
- Release builds behaving differently from development builds. We've seen code shrinking on Android silently break notifications unless the right keep rules are added.
- Push notification and sign-in keys that live in an account nobody can access anymore.
- Store listings that need new privacy or data-safety answers before an update is accepted.
How we help
We start with a short review and a fixed quote for getting the app current, then keep it current on our Care Plus plan, which includes the yearly store updates.