← Torna indietro

Pubblicazione App ReactNative

Gestione dettagli applicazione

Per creare una nuova versione dell’applicazione da caricare sugli store, bisogna aggiornare l’app.json:

{
    "expo": {
        "name": "Eco GAIA", // Nome dell'applicazione
        "slug": "EcoGAIA",
        "version": "2.0.0", // Versione dell'applicazione
        "orientation": "portrait",
        "icon": "./assets/images/adaptive-icon.png", // Percorso dell'icona dell'applicazione
        ...
        "ios": {
            "supportsTablet": false,
            "bundleIdentifier": "it.gaia.rdm", // Identificatore del bundle per iOS
            "buildNumber": "2.0.2", // Numero di build per iOS, da incrementare ad ogni caricamento sullo store
            "infoPlist": {
                ...
            }
        },
        "android": {
            "adaptiveIcon": { // Configurazione dell'icona adattiva per Android
                "foregroundImage": "./assets/images/adaptive-icon.png",
                "backgroundColor": "#ffffff"
            },
            "package": "it.gaia.rdm", // Identificatore del pacchetto per Android
            "versionCode": 7, // Numero di versione per Android, da incrementare ad ogni caricamento sul Play Store
            "permissions": [
                ...
            ]
        },
        ...
        "plugins": [
            "expo-router",
            [
                "expo-splash-screen", // Configurazione dello splash screen
                {
                    "image": "./assets/images/splash-icon.png",
                    "imageWidth": 200,
                    "resizeMode": "contain",
                    "backgroundColor": "#ffffff"
                }
            ]
        ]
    }
}

Build App

Prima di tutto:

npx expo prebuild

Genera gli assets delle immagini, aggiorna il manifest, i numeri di versione…

Android

Per configurare l’ambiente di sviluppo Android, segui questi passaggi:

  1. Installa Android Studio: Scarica e installa Android Studio dal sito ufficiale.

  2. Configura le variabili d’ambiente: Aggiungi le seguenti variabili d’ambiente al tuo sistema:

Nome Valore
ANDROID_HOME C:\Users\<username>\AppData\Local\Android\Sdk
ANDROID_SDK_ROOT C:\Users\<username>\AppData\Local\Android\Sdk
JAVA_HOME C:\Program Files\Android\Android Studio\jbr
PATH C:\Users\<username>\AppData\Local\Android\Sdk\platform-tools;C:\Users\<username>\AppData\Local\Android\Sdk\tools;C:\Users\<username>\AppData\Local\Android\Sdk\tools\bin;C:\Users\<username>\AppData\Local\Android\Sdk\emulator;C:\Program Files\Android\Android Studio\jbr\bin

sostituire <username> con il proprio nome utente

  1. Naviga nella cartella Android:
cd android
  1. Build APK:
gradlew assembleRelease
  1. Build AAB:
./gradlew app:bundleRelease

L’output sarà disponibile nella cartella android\app\build\outputs\bundle\release.

Generare la chiave

  1. Genera il keystore:
keytool -genkeypair -v -keystore release-key.keystore -keyalg RSA -keysize 2048 -validity 10000 -alias my-key-alias
  1. Genera il file .pem per il Play Store:
keytool -export -rfc -keystore release-key.keystore -file upload_certificate.pem -alias my-key-alias

Come firmare l’app?

1. Assicurati di avere il file APK o AAB generato (di solito in android/app/build/outputs/apk/release/ o release).

2. Verifica di avere il keystore (nel tuo caso: release-key.keystore).

3. Aggiungi le informazioni del keystore nel file gradle.properties:

MYAPP_UPLOAD_STORE_FILE=release-key.keystore
MYAPP_UPLOAD_KEY_ALIAS=your-key-alias
MYAPP_UPLOAD_STORE_PASSWORD=your-store-password
MYAPP_UPLOAD_KEY_PASSWORD=your-key-password

Sostituisci your-key-alias, your-store-password, e your-key-password con i tuoi dati reali.

4. Modifica il file build.gradle nella sezione android > signingConfigs:

signingConfigs {
    release {
        storeFile file(MYAPP_UPLOAD_STORE_FILE)
        storePassword MYAPP_UPLOAD_STORE_PASSWORD
        keyAlias MYAPP_UPLOAD_KEY_ALIAS
        keyPassword MYAPP_UPLOAD_KEY_PASSWORD
    }
}
buildTypes {
    release {
        signingConfig signingConfigs.release
        // ...existing code...
    }
}

5. Ricostruisci l’app in modalità release:

cd android
./gradlew assembleRelease

Troverai l’APK firmato in android/app/build/outputs/apk/release/app-release.apk.

iOS

Una volta generata la cartella ios con il comando iniziale, entrare nella cartella e lanciare:

Cambio librerie o primo avvio

cd ios
pod install

Se qualche libreria non funziona, cercare su Google e cambiarla o trovare una soluzione.

Compilazione e test

Per compilare effettivamente l’app, testarla e pubblicarla:

cd ..
xed ios

Questo comando aprirà Xcode.

Configurare il nostro release scheme:

  1. Dal menu bar, apri Product > Scheme > Edit Scheme.
  2. Seleziona Run dalla sidebar, poi imposta la configurazione Build su Release usando il dropdown.

Per compilare: dal menu bar, apri Product > Build. Questo passaggio compilerà il binario della tua app per il rilascio.

Per lanciare su emulatore o device connesso via USB: in alto sull’header, selezionare il device e premere il pulsante di play.

App submission using App Store Connect

Una volta completata la build, puoi distribuire la tua app su TestFlight o inviarla all’App Store utilizzando App Store Connect:

  1. Dal menu bar, apri Product > Archive.
  2. Sotto Archives, clicca su Distribute App dalla sidebar destra.
  3. Clicca su App Store Connect e segui le istruzioni mostrate nella finestra. Questo passaggio creerà un record dell’App Store e caricherà la tua app sull’App Store.
  4. Ora puoi andare al tuo account App Store Connect, selezionare la tua app sotto Apps e inviarla per il testing utilizzando TestFlight o prepararla per il rilascio finale seguendo i passaggi nel dashboard di App Store Connect.

https://docs.expo.dev/guides/local-app-production/