Frequently Asked Questions
Common questions and answers about Launchtoday
General Questions
What is Launchtoday?
Launchtoday is a powerful React Native CLI tool designed to accelerate your app development process. It comes pre-configured with essential features that modern apps need, including authentication, database integration, payments, and more.
What platforms does Launchtoday support?
Launchtoday supports both iOS and Android platforms, with full feature parity across both operating systems.
Setup & Installation
What are the system requirements?
- Node.js v18.18.0 or higher
- macOS, Windows, or Linux operating system
- Xcode (for iOS development)
- Android Studio (for Android development)
Why am I getting environment variable errors?
Make sure you’ve copied the .env.example
file to .env
and filled in all required variables. Common issues include:
- Missing Supabase credentials
- Invalid API keys
- Incomplete configuration
Development
How do I update to the latest version?
If you forked the repository (recommended approach):
- Add the original repo as upstream:
git remote add upstream https://github.com/launchtodayhq/launchtoday-rncli.git
- Fetch updates:
git fetch upstream
- Merge updates:
git merge upstream/main
How do I add custom fonts?
- Add your font files to the
assets/fonts
directory - Link the fonts using
react-native.config.js
- Run
npx react-native-asset
- Rebuild your app
How do I target a specific iOS simulator?
To run your app on a specific iOS simulator:
- List available simulators:
- Find your desired device from the list, for example:
- Boot the specific simulator using its UUID:
- Update your
package.json
script to target the specific simulator:
- Run your app using the updated script:
Make sure to replace the simulator name with the exact name of your chosen device from the xcrun simctl list devices
output.
Authentication
Which authentication methods are supported?
- Email/Password
- Magic Link (passwordless)
- Apple Sign-In
- Google Sign-In
- Social auth providers through Supabase
How do I customize the authentication flow?
You can customize the authentication flow by modifying the components in src/screens/auth/
. The authentication logic is handled by Supabase and can be customized in src/services/auth.ts
.
Database & Storage
How do I add new database tables?
- Go to your Supabase dashboard
- Open the SQL editor
- Write and execute your SQL commands
- Update your TypeScript types in
src/types/supabase.ts
Where should I store user files?
User files should be stored in Supabase Storage buckets. The template comes pre-configured with an ‘avatars’ bucket, but you can create additional buckets for different types of files.
Deployment
How do I prepare for App Store submission?
- Update your app’s metadata in Xcode
- Configure your certificates and provisioning profiles
- Build a release version using Fastlane
- Submit through App Store Connect
How do I prepare for Play Store submission?
- Update your app’s metadata in
android/app/build.gradle
- Configure your keystore for signing
- Build a release version using Fastlane
- Submit through Google Play Console
Troubleshooting
Common Build Errors
Metro Bundler Issues
Clear the Metro bundler cache: