Saltare al contenuto principale
Tutorial

Come costruire un'app Capacitor Ionic in Xcode Cloud

Usa Xcode Cloud per costruire la tua app Capacitor JS e evita di utilizzare MacOS.

Martin Donadieu

Martin Donadieu

Responsabile del contenuto

Come costruire un'app Ionic Capacitor in Xcode Cloud

Requisiti preliminari

Prima di continuare con il tutorial…

  • Assicurati di utilizzare GitHub
  • Utilizza Capacitor
  • L'applicazione è già distribuita su Apple Store
  • Desiderio di leggere 😆…

L'utilizzo di Ionic è facoltativo, per Cordova potrebbe funzionare, ma non l'ho provato.

Importante per il prezzo

Prezzo Xcode Cloud

https://developer.apple.com/xcode-cloud/

La servizio è ‘gratuito’ fino al limite.
Puoi vedere nello screenshot il prezzo e i limiti (prezzi validi alla creazione del tutorial, potrebbero subire cambiamenti in futuro)

🔴 Una volta avvertiti dei requisiti e dei prezzi, se lo desiderate, continuiamo…

📣 Nel post, supponiamo di avere l'app creata nell'Apple Store

Intro

Per far costruire Xcode il tuo Capacitor app, hai bisogno di configurare alcune cose.

Pacchetto di preparazione

Assicurati di avere il tuo comando di build nel tuo package.json script. Poi aggiungi il sync:ios il comando come riportato di seguito.

{
  "scripts": {
    "build": "YOUR BUILD COMMAND",
    "sync:ios": "cap sync ios"
  }
}

Questa operazione farà funzionare lo script post semplicemente

Clona lo script post

Questo script verrà eseguito da Xcode cloud dopo lo step di clonazione

#!/usr/bin/env bash

set -x

export HOMEBREW_NO_INSTALL_CLEANUP=TRUE
# Install CocoaPods
echo "📦 Install CocoaPods"
brew install cocoapods
brew install node@18
brew link node@18

# Install dependencies
# XCode Cloud is literally broken for 2 months now - https://developer.apple.com/forums/thread/738136?answerId=774510022#774510022
npm config set maxsockets 3
npm ci
# or `pnpm install --frozen-lockfile` or `yarn add --frozen-lockfile` or bun install
npm run build 
# or npm run build
npm run sync:ios

Salva questo file nella radice del tuo progetto e denominalo ios/App/ci_scripts/ci_post_clone.sh

Poi rendi eseguibile questo file con il seguente comando chmod +x ios/App/ci_scripts/ci_post_clone.sh

Crea un flusso di lavoro di Xcode

Apri Xcode (sì, per rimuovere Xcode hai bisogno di Xcode)

E vai alla scheda : Passo Xcode 1

Clicca su crea flusso di lavoro, seleziona il tuo app, clicca su next come riportato di seguito.

Passo 2 di Xcode

Clicca su Modifica flusso sul lato sinistro Passo 2 di Xcode

Vai alla scheda ambienti e scegli come indicato Mac 12.4 e verifica l'opzione corretta Passo 3 di Xcode

Scegli la tua condizione di partenza. Se utilizzi la stessa build di noi, ti consiglio di utilizzare Tag invece di branch, per evitare la doppia build.

Imposta la tua variabile di ambiente Passo 4 di Xcode

Collega il tuo account GitHub Passo 5 di Xcode

Passo 6 di Xcode

Abilita quindi il flusso di lavoro e committa la tua prima modifica, dovresti vedere la tua build in esecuzione in Xcode.

Elaborazione del processo

In Cloud Xcode, si viene fatturati in base ai minuti utilizzati per l'esecuzione del proprio workflow CI/CD. Dall'esperienza, ci vuole circa 10-15 minuti prima che un build possa essere elaborato nella Apple Store.

Per i progetti privati, il costo stimato per build può arrivare fino a $0.008/min x 5 min = $0.4, o più, a seconda della configurazione o delle dipendenze del proprio progetto.

Per i progetti open-source, questo non dovrebbe essere un problema per niente. Vedi tariffe.

Continua da Come costruire l'app Ionic Capacitor in Cloud Xcode

Se si utilizza Come costruire l'app Ionic Capacitor in Cloud Xcode per pianificare l'automazione CI/CD, connettilo con Capgo automazione CI/CD per il flusso di lavoro del prodotto in Capgo automazione CI/CD, Capgo Costruzioni native per il flusso di lavoro del prodotto in Capgo Costruzioni native, Capgo Integrazioni per il flusso di lavoro del prodotto in Capgo Integrazioni, Integrazione CI/CD per i dettagli di implementazione in Integrazione CI/CD, e GitHub Integrazione azioni per i dettagli di implementazione in GitHub Integrazione azioni.

Aggiornamenti in tempo reale per le Capacitor app

Quando un bug del layer web è attivo, invia la correzione attraverso Capgo invece di attendere giorni per l'approvazione della store. Gli utenti ricevono l'aggiornamento in background mentre le modifiche native rimangono nel normale percorso di revisione.

Inizia subito

Ultimi articoli del nostro Blog

Capgo ti offre le migliori informazioni che ti servono per creare un'app mobile davvero professionale.