Prerequisites: This project requires Node.js version 18 or higher. Please ensure you have Node.js installed on your system before proceeding with the setup process.

To get the best out of Launchtoday, we strongly recommend using physical iOS and Android devices for development and testing. Physical devices provide the most accurate representation of how your app will behave in production, especially when working with libraries like RevenueCat. While simulators and emulators have their place for automated testing and quick UI checks, they should not be your primary development environment.

Initial Setup

Getting started with Launchtoday Expo is straightforward with our direct clone option.

Direct Clone

Clone the repository directly to get started with your Launchtoday Expo project:

git clone git@github.com:launchtodayhq/launchtoday-expo.git [YOUR_APP_NAME]

Project Configuration

After successfully cloning the repository, you’ll need to set up your local development environment. Follow these steps in order:

  1. Navigate into your newly created project directory
  2. Execute the following commands to initialize your development environment:
cp .env.example .env
yarn
yarn prebuild

These commands create your local environment configuration, install all necessary dependencies, and automatically generate the iOS and Android project files.

Platform-Specific Configuration

iOS Configuration

Setting up your iOS development environment requires a few additional steps:

  1. Open your iOS project in Xcode using:
yarn xcode
  1. Once in Xcode, you’ll need to configure several important application settings:

    • In the project navigator, select the “Launchtodayexpo” project
    • Select the “Launchtodayexpo” target from the targets list
    • Navigate to the “Signing & Capabilities” tab
    • Update the Bundle Identifier to match your application (e.g., “com.yourcompany.appname”)
    • Choose your Development Team from the dropdown menu
    • If you haven’t already, you may need to sign in with your Apple ID through Xcode preferences

You can list available iOS devices and simulators using:

yarn ios:list-devices

Android Configuration

To set up your Android development environment for Expo, you can either follow our detailed step-by-step instructions below or watch our comprehensive video tutorial that walks you through the entire process:

The Android setup process requires Android Studio, which you can download from the official Android Developer website. Once installed, follow these detailed steps:

  1. Open Android Studio and launch the AVD (Android Virtual Device) Manager, which allows you to create and manage virtual devices for testing.

  2. Create a new virtual device by following these steps:

    • Click the “Create Virtual Device” button
    • From the hardware profiles, select a device definition (we recommend the Pixel 9 Pro XL)
    • Choose a system image (we recommend API 34 for the best compatibility)
    • Complete the setup process by configuring any additional device settings
  3. Ensure that the Android SDK is properly configured:

    • Open the SDK Manager in Android Studio
    • Make sure you have the latest Android SDK Platform-tools installed
    • Verify that the Android SDK Build-tools are installed (version 30.0.2 or newer)
    • Add the Android SDK location to your system’s environment variables
  4. Verify that your development environment is properly configured by running:

    adb devices
    # This command should display your connected device or emulator
    

Running the Application

With your environment configured, you can now launch your application. Choose the appropriate command for your target platform:

yarn start      # Starts the Expo development server with cache reset
yarn ios        # Launches the app on an iOS device
yarn android    # Launches the app on an Android device

For specific iOS simulators, you can use:

yarn ios-16-plus         # Run on iPhone 16 Plus simulator
yarn ios-16-pro-max      # Run on iPhone 16 Pro Max simulator

When successfully launched, your application should display the following screen:

Development with EAS

Expo Application Services (EAS) offers powerful tools for building, submitting, and updating your Expo application:

  1. EAS Build - Create native builds for iOS and Android
  2. EAS Submit - Upload your builds to the App Store and Play Store
  3. EAS Update - Push updates to your app over-the-air

To set up EAS for your project:

  1. Install the EAS CLI:

    npm install -g eas-cli
    
  2. Log in to your Expo account:

    eas login
    
  3. Configure your project for EAS:

    eas build:configure
    

This sets up the necessary configuration files for using EAS services with your project.

You can build and submit your app using these commands:

yarn ios-build        # Build for iOS
yarn android-build    # Build for Android
yarn ios-submit       # Submit iOS build to App Store
yarn android-submit   # Submit Android build to Play Store

Troubleshooting

If you encounter any issues during setup, you can run these diagnostic commands:

yarn doctor              # Check for common issues in your Expo project
yarn fix-dependencies    # Fix and check dependencies
yarn nuke                # Complete reset - removes node_modules, iOS and Android directories,
                         # then reinstalls everything from scratch

If you encounter any difficulties during the setup process or while running the application, we provide several support channels:

  1. Our comprehensive FAQ page addresses common issues and provides detailed solutions
  2. For real-time assistance, join our active Discord community
  3. If you believe you’ve discovered a bug, please create a detailed issue on our GitHub repository

Our dedicated development team and community members are committed to helping you overcome any challenges you might face during your development journey.