Saltare al contenuto principale
Tutorial

Come costruire un'app Capacitor di Ionic in Xcode Cloud

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

Crediti dell'articolo

Martin Donadieu

Autore

Valeria

Revisione

Jordan

Editor

Come costruire un'app Ionic Capacitor in Xcode Cloud

Prerequisiti

Prima di continuare con il tutorial...

  • Assicurati di utilizzare GitHub
  • Utilizza Capacitor
  • La tua app è 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/

Il servizio è 'gratuito' fino al limite. Puoi vedere nello screenshot il prezzo e i limiti (prezzi validi alla creazione del tutorial, potrebbero subire modifiche in futuro)
Una volta avvertito sui requisiti e sui prezzi, se ti piace, continuiamo…

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

📣 Intro

Per far costruire Xcode la tua app __CAPGO_KEEP_0__, devi configurare alcune cose.

To make Xcode build your Capacitor app, you need to set up a few things.

Assicurati di avere la tua istruzione di build nel tuo

script. Aggiungi poi il package.json comando come sotto. sync:ios command like below.

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

Questo passo farà funzionare lo script post semplicemente

Script di clonazione 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 questo 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 a questa scheda : Passo Xcode 1

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

Passo Xcode 2

Clicca su Modifica flusso di lavoro sulla sinistra Passo Xcode 2

Vai alla scheda ambiente e scegli come mostrato di seguito Mac 12.4 e verifica l'opzione corretta Passo Xcode 3

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

Imposta la tua variabile di ambiente Passo Xcode 4

Collega il tuo account GitHub Passo Xcode 5

Passo Xcode 6

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

Elaborazione della costruzione

In Xcode Cloud, Se siete fatturati in base ai minuti Siete stati utilizzati per l'esecuzione del vostro 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 il build può arrivare fino a $0,008/min x 5 min = $0,4, o più, a seconda della configurazione o delle dipendenze del vostro progetto.

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

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

Se state utilizzando Come costruire l'app Ionic Capacitor in Xcode Cloud per pianificare l'automazione del CI/CD, connettetelo con Capgo CI/CD per il workflow del prodotto in Capgo CI/CD, Capgo Costruzioni native per il workflow del prodotto in Capgo Costruzioni native, Capgo Integrazioni for the product workflow in Capgo Integrations, per il workflow del prodotto in __CAPGO_KEEP_0__ Integrazioni, Integrazione CI/CD GitHub Actions Integration for the implementation detail in GitHub Actions Integration.

Aggiornamenti in tempo reale per le Capacitor

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

Sostegno umano da Martin

Inizia subito

Ultimi articoli dal nostro Blog

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