2015-10-15 14 views
7

C'è una sezione App con ambienti multipli in Fabric Crashlytics Advanced Setup che suggerisce di utilizzare un'organizzazione separata per ciascuna versione.Fabric Crashlytics ambienti multipli per app iOS

Ho creato 3 organizzazioni separate per ogni configurazione Corporatura:

  • MyApp
  • MyApp (Debug)
  • MyApp (AdHoc)

Ho un condizionale nel mio Esegui Script Build Phase che esegue lo script framework Fabric con diversa chiave API se Build Secret s e posso confermare che il condizionale viene colpito correttamente, ma non riesco ancora a ottenere le chiavi API aggiornate nel mio plist (che suppongo che Fabric usi). Sembra che Fabric stia mandando i miei arresti anomali sull'ultima chiave/organizzazione API che ho onboardato utilizzando l'app Fabric. C'è qualcosa che mi manca? So che posso usare [Crashlytics initWithApiKey:@""], ma da quello che ho letto questo è considerato un codice legacy.

Ecco il mio Esegui script di build Fase:

if [ "${CONFIGURATION}" = "Distribution" ]; then 
echo "Building Fabric for Distribution." 
./Fabric.framework/run dist_api_key dist_build_secret 
fi 

if [ "${CONFIGURATION}" = "AdHoc" ]; then 
echo "Building Fabric for AdHoc." 
./Fabric.framework/run adhoc_api_key adhoc_build_secret 
fi 

if [ "${CONFIGURATION}" = "Debug" ]; then 
echo "Building Fabric for Debug." 
./Fabric.framework/run debug_api_key debug_build_secret 
fi 

The original Q/A

+0

'plist' o qualsiasi file in app bundle è' leggere only', quindi non sono stati in grado di scrivere la vostra chiave API per plist! L'utilizzo dei tasti personalizzati in 'Impostazioni di costruzione 'è davvero una grande idea. – Saif

risposta

11

Nel tentativo di ottenere questo lavoro ho fatto questo:

  1. aggiungere impostazione definita dall'utente personalizzata per le impostazioni di generazione , per esempio MY_CRASHLYTICS_API_KEY e MY_CRASHLYTICS_BUILD_SECRET
  2. sostituire apikey concreto Info.plist sotto il gruppo in tessuto con ${MY_CRASHLYTICS_API_KEY}
  3. aggiungere rispettivi API Key s e Costruire segreti s da parte di organizzazioni che avete creato per l'ambiente per costruire Impostazioni sotto la chiave da fase 1
  4. cambiamento lo script in fase di Esegui script di essere qualcosa di simile al di sotto
  5. applicazioni di configurazione tramite widget di Crashlytics Mac. Anche questa non è una parte facile. Le app vengono aggiunte alle organizzazioni solo quando sono in esecuzione con la configurazione di debug. Il motivo è che l'app dovrebbe rimanere attiva per un po ', quindi Crashlytics potrebbe rintracciarlo. Ciò mi ha richiesto di cambiare Api Keys e Build Secrets per entrambi, lo script e il tasto Build Settings e ottenere l'app registrata. Successivamente, sono stato in grado di modificare Info.plist per utilizzare l'ambiente var dalle impostazioni di generazione.

Lo script run:

echo "Running Crashlytics (${CONFIGURATION})" 
"${PODS_ROOT}/Fabric/Fabric.framework/run" ${MY_CRASHLYTICS_API_KEY} ${MY_CRASHLYTICS_BUILD_SECRET}