Sdílet prostřednictvím


Konfigurace buildu React Native iOS v App Center

Důležité

31. března 2025 je naplánované vyřazení z provozu. I když můžete dál používat Visual Studio App Center, dokud ho úplně vyřadíte, existuje několik doporučených alternativ, na které můžete zvážit migraci.

Přečtěte si další informace o časových osách a alternativách podpory.

App Center může vytvářet React Native aplikace napsané v React Native verze 0.34 nebo novější.

Vytvoření aplikace React Native pro iOS:

  1. Připojte se k účtu služby úložiště (například Azure DevOps, Bitbucket, GitHub nebo VSTS).
  2. Vyberte úložiště a větev, ve které vaše aplikace žije.
  3. Nakonfigurujte projekt nebo pracovní prostor sestavení a schéma, které chcete vytvořit.

Poznámka

Aby aplikace běžela na skutečném zařízení, musí být sestavení podepsané kódem s platným zřizovacím profilem a certifikátem.

1. Propojení úložiště

Nejprve připojte svůj účet služby úložiště k App Center. Jakmile je váš účet připojený, vyberte úložiště, ve kterém se nachází váš projekt iOS. Pro úložiště musíte mít oprávnění správce a přijetí změn.

2. Výběr větve

Po výběru úložiště vyberte větev, kterou chcete vytvořit. Ve výchozím nastavení budou uvedené všechny aktivní větve.

3. Nastavení prvního buildu

Před prvním sestavením je potřeba nakonfigurovat projekt React Native.

3.1. Project

Vyberte projekt package.json. App Center automaticky rozpozná přidružený projekt nebo pracovní prostor Xcode.

3.2. Verze Xcode

V rozevíracím seznamu vyberte verzi Xcode, na které chcete build spustit. Pokud je Onpřepínač Použít starší verzi buildového systému , použije se systém sestavení starší verze bez ohledu na nastavení projektu nebo pracovního prostoru. Pokud je Offpřepínač Použít starší verzi buildového systému , použije se konfigurace systému sestavení z nastavení projektu nebo pracovního prostoru.

Poznámka

  • Nastavení pracovního prostoru by mělo být potvrzeno v úložišti.
  • Pokud nastavení pracovního prostoru není potvrzené, použije se moderní systém sestavení.

3.3. Node.js verze

Vyberte verzi Node.js, která se má použít pro sestavení. Další informace o výběru verze Node.js

3.4. Triggery sestavení

Ve výchozím nastavení se nové sestavení aktivuje pokaždé, když vývojář odešle oznámení do nakonfigurované větve. Pokud dáváte přednost ruční aktivaci nového sestavení, můžete toto nastavení změnit v podokně konfigurace.

3.5. Zvýšení čísla sestavení

Pokud je tato možnost povolená, CFBundleVersion hodnota v souboru Info.plist projektu vaší aplikace se automaticky zvýší pro každé sestavení. Změna proběhne před sestavením a nebude potvrzena do vašeho úložiště.

3.6. Podepisování kódu

Úspěšné sestavení vytvoří .ipa soubor. Pokud chcete sestavení nainstalovat na zařízení, musí být podepsané platným zřizovacím profilem a certifikátem. Pokud chcete podepsat sestavení vygenerovaná z větve, povolte podepisování kódu v podokně konfigurace a nahrajte zřizovací profil (.mobileprovision soubor) a platný certifikát (.p12) spolu s heslem pro certifikát.

Nastavení v projektu Xcode musí být kompatibilní se soubory, které nahráváte. Přečtěte si další informace o podepisování kódu pro iOS v App Center a dokumentaci pro vývojáře Apple.

Podepisování aplikací pomocí rozšíření app nebo watchOS vyžaduje další zřizovací profil pro každé rozšíření.

3.7. Spuštění úspěšného buildu na skutečném zařízení

Pomocí nově vytvořeného .ipa souboru otestujte, jestli se aplikace spouští na skutečném zařízení. Test spuštění přidá k celkové době sestavení dalších asi 10 minut. Přečtěte si další informace o konfiguraci spouštěcích testů.

3.8. Kakaovépody

App Center prohledá vybranou větev, a pokud najde podfile, automaticky provede krok pod install na začátku každého sestavení. Tím se zajistí, že se nainstalují všechny závislosti.

3.9. Distribuce do distribuční skupiny

Nakonfigurujte každé úspěšné sestavení z větve tak, aby se distribuoval do dříve vytvořené distribuční skupiny. V části Distribuce přidejte novou distribuční skupinu. Vždy existuje výchozí distribuční skupina s názvem "Spolupracovníci", která zahrnuje všechny uživatele, kteří mají k aplikaci přístup.

Po uložení konfigurace se automaticky spustí nové sestavení.

4. Výsledky sestavení

Sestavení můžou být v jednom z následujících stavů:

  • queued – sestavení je zařazeno do fronty a čeká na dostupné prostředky.
  • sestavování – sestavení běží a spouští předdefinované úlohy.
  • succeeded – sestavení se úspěšně dokončilo.
  • selhalo – sestavení se úspěšně dokončilo; řešení potíží stažením a kontrolou protokolu sestavení
  • zrušeno – sestavení se zrušilo prostřednictvím akce uživatele nebo vypršel časový limit.

4.1. Protokoly sestavení

V případě dokončeného sestavení (úspěšného nebo neúspěšného) si stáhněte protokoly, abyste lépe pochopili, jak sestavení proběhlo. App Center poskytuje archiv s následujícími soubory:

|-- 1_build.txt (this is the general build log)
|-- build (this folder contains a separate log file for each build step)
    |-- <build-step-1> (e.g. 2_Get Sources.txt)
    |-- <build-step-2> (e.g. 3_Pod install.txt)
    |--
    |-- <build-step-n> (e.g. n_Post Job Cleanup.txt)

Protokoly sestavení (umístěné v build/ adresáři archivu) jsou užitečné pro řešení potíží a pochopení toho, v jakém kroku a proč sestavení selhalo.

4.2. Aplikace (.ipa)

Soubor .ipa je archivní soubor aplikace pro iPhone, který obsahuje aplikaci pro iOS.

  • Pokud se sestavení správně podepsalo, můžete soubor nainstalovat .ipa na skutečné zařízení, které je součástí zřizovacího profilu použitého při podepisování. Další podrobnosti o podepisování a distribuci kódu pomocí App Center najdete v dokumentaci k podepisování kódu pro iOS.
  • Pokud sestavení není během sestavení podepsané, můžou vývojáři soubor podepsat .ipa (místně pomocí kodesignu) nebo ho použít k jiným účelům (například nahrát do testovací služby pro testování uživatelského rozhraní na skutečných zařízeních nebo spustit v simulátoru).
  • Nepodepsaná sestavení nevytvoří .ipa soubor. Artefaktem nepodepsaného sestavení je .xcarchive soubor, který lze použít k vygenerování .ipa souboru s organizátorem archivu Xcode.

4.3. Zdrojové mapy a soubory symbolů

Při sestavení aplikace React Native pro iOS se s každým buildem automaticky vygeneruje zdrojová mapa JavaScriptu a jeden nebo více .dsym souborů a po dokončení sestavení se dá stáhnout.

  • Pokud jste dříve integrovali sadu App Center SDK do aplikace s povoleným modulem zasílání zpráv o chybách, signál zasílání zpráv o chybách vyžaduje tento .dsym soubor a mapu zdroje JavaScriptu pro sestavení, aby se zobrazovaly zprávy o chybách čitelné (symbolické).
  • Pokud jste dříve integrovali jinou sadu SDK pro účely zasílání zpráv o chybách do vaší aplikace, odpovídající služba vyžaduje .dsym soubor a mapu zdroje JavaScriptu, aby zobrazovaly zprávy o chybách čitelné pro člověka (symbolické).

Mějte na paměti, že při .dsym podepsání .ipakódu se soubor nezmění. Pokud se později rozhodnete sestavení podepsat, .dsym vygenerovaný před podepsáním kódu je stále platný.

Pokud je součástí této aplikace sada SDK pro chybové ukončení, odesílají se do služby App Center Crashes symboly iOS a zdrojové mapy. Symboly umožní zprávy o chybách čitelné pro člověka (symbolické) v nativním i javascriptovém zásobníku.

5. Tipy pro sestavení

5.1. Příze

Yarn je rychlejší a determinističtější náhrada za npm. yarn.lock Pokud je v úložišti vedle package.jsonsouboru soubor , App Center použije Yarn, a to yarn install na začátku sestavení. V opačném případě provede npm install.

5.2. Skripty vlastního sestavení

Existuje několik možností, jak spustit skripty před spuštěním výchozích příkazů sestavení app center.

  • V souboru projektu package.json vytvořte poinstalační skript. To se automaticky spustí po instalaci závislostí.

      "scripts": {
        ...
        "postinstall" : "eslint ./" // other examples: "node ./postinstall.js" or "./postinstall.sh"
      },
    
  • Napište skript prostředí pomocí funkce vlastních skriptů sestavení App Center.

    #!/usr/bin/env bash
    
    # Example: Authenticate with private NPM registry
    echo "//registry.npmjs.org/:_authToken=$NPM_AUTH_TOKEN" > ~/.npmrc
    
    # Example: Create a file that's not in version control (from base64 encoded environment variable)
    base64 -d <<< "$MY_FILE_CONTENTS" > ios/SuperSecretFile.txt