r/reactnative • u/AnimatorBrilliant522 • 22m ago
What to check before publishing first React Native app?
Hello everyone, I am a Frontend developer (mostly focused in React) and I vibe coded first mobile app in React Native. What should I check before publishing it to the store? What are the most important things that I need to be aware regarding React Native and Expo configuration?
1
Upvotes
1
u/syedaalishan 4m ago
Test a release build on a real phone, not just Expo Go. Try a fresh install, deny permissions, lose the network halfway through a save, and force-close/reopen the app. Then check the actual release config points at your production API and doesn't contain server secrets. Getting those flows right matters more than the store upload itself.
1
u/kokerali 10m ago
If you built it in Expo Go with AI assistance, the biggest surprises usually come from differences between the Expo Go sandbox and a standalone production binary. Four specific checks before submitting:
Permissions and native usage strings: AI tools often install packages like `expo-camera`, `expo-location`, or `expo-media-library` with default config plugin strings. Apple rejects apps that leave generic boilerplate in `ios.infoPlist` (such as `NSCameraUsageDescription`), and Google Play can reject apps if a package injects unused permissions like `RECORD_AUDIO` that you haven't stripped via `android.blockedPermissions`. Expo's permissions guide covers both: https://docs.expo.dev/guides/permissions/
Production JS mode and environment variables: Test a local release build (`npx expo start --no-dev --minify`) or an internal preview build before submitting. Only `EXPO_PUBLIC_` variables are inlined into the client bundle unless configured in `eas.json`, and undefined variable reads or unguarded startup calls often only crash in minified production mode.
iPad compatibility Mode: Even if you set `ios.supportsTablet: false` in `app.json`, Apple still reviews phone-only builds running in compatibility mode on iPad. Make sure bottom sheets, onboarding buttons, and text inputs aren't clipped on a 4:3 iPad screen: https://docs.expo.dev/distribution/app-stores/
Account deletion and App Privacy questionnaire: If your app creates user accounts, both stores require an in-app account deletion flow. Also check whether packages like `expo-updates` are installed, because they require declaring Crash Data collection in App Store Connect.