Zum Hauptinhalt springen
Anleitung

How to build Ionic Capacitor app in Xcode Cloud

Use Xcode cloud to build your Capacitor JS app and bypass the need of MacOS.

Artikelcredits

Martin Donadieu

Autor

Valeria

Rezensent

Jordan

Redakteur

How to build Ionic Capacitor app in Xcode Cloud

Voraussetzungen

Bevor Sie mit der Anleitung fortfahren…

  • Stellen Sie sicher, dass Sie GitHub verwenden
  • Verwenden Sie Capacitor
  • Ihre App ist bereits auf dem Apple Store veröffentlicht
  • Wollen Sie gerne lesen 😆…

Die Verwendung von Ionic ist optional, für Cordova könnte es funktionieren, aber ich habe es nicht ausprobiert.

Wichtig zur Preisgestaltung

Preis Xcode Cloud

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

Der Service ist ‘kostenlos' bis zur Grenze.
Sie können im Screenshot den Preis und die Grenzen (Preise zum Zeitpunkt der Erstellung des Tutorials, sie könnten sich in Zukunft ändern) sehen.

🔴 Wenn Sie gewarnt sind, was die Anforderungen und Preise angeht, können wir gerne fortfahren…

📣 In diesem Artikel gehen wir davon aus, dass die App bereits im Apple Store erstellt wurde.

Einleitung

Um Xcode Ihre Capacitor-App bauen zu lassen, müssen Sie ein paar Dinge einrichten.

Paketvorbereitung

Stellen Sie sicher, dass Sie Ihren Build-Befehl in Ihrem Skript haben. package.json Fügen Sie dann den folgenden Befehl hinzu. sync:ios Dieser Schritt macht das Post-Skript einfach funktionieren.

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

Post-Klon-Skript

bis zur Grenze.

Dieses Skript wird nach dem Klon-Schritt von Xcode Cloud ausgeführt

#!/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

Speichern Sie dieses File im Root Ihres Projekts und benennen Sie es ios/App/ci_scripts/ci_post_clone.sh

Machen Sie dieses File mit diesem Befehl ausführbar chmod +x ios/App/ci_scripts/ci_post_clone.sh

Erstellen Sie einen Xcode-Workflow

Öffnen Sie Xcode (ja, um Xcode zu entfernen benötigen Sie Xcode)

Und gehen Sie zu dieser Registerkarte : Xcode-Schritt 1

Klicken Sie auf Erstellen Workflow, wählen Sie Ihre App, klicken Sie auf Weiter wie unten.

Xcode-Schritt 2

Klicken Sie auf Bearbeiten Workflow auf der linken Seite Xcode-Schritt 2

Gehen Sie zur Registerkarte Umgebungen und wählen Sie wie unten Mac 12.4 und überprüfen Sie die richtige Option Xcode Schritt 3

Wählen Sie Ihre Startbedingung. Wenn Sie denselben Build wie wir verwenden, empfehlen wir Ihnen, den Tag anstelle des Branches zu verwenden, um doppelte Builds zu vermeiden.

Setzen Sie Ihre Umgebungsvariable Xcode Schritt 4

Verbinden Sie Ihr GitHub-Konto Xcode Schritt 5

Xcode Schritt 6

Aktivieren Sie dann die Workflow- und committen Sie Ihre erste Änderung, Sie sollten Ihren Build in Xcode laufen sehen.

Build Verarbeitung

In Xcode Cloud, Sie werden auf die Minuten abgerechnet, die Sie für die Ausführung Ihres CI/CD-Workflows verwendet haben. Aus Erfahrung dauert es etwa 10–15 Minuten, bevor ein Build im Apple Store verarbeitet werden kann.

Für private Projekte kann die geschätzte Kosten pro Build bis zu $0.008/min x 5 min = $0.4, oder mehr, je nach Konfiguration oder Abhängigkeiten Ihres Projekts.

Für Open-Source-Projekte sollte das kein Problem sein. Siehe Preise.

Weitermachen Sie von Wie Sie eine Ionic Capacitor App in Xcode Cloud erstellen

Wenn Sie Wie Sie eine Ionic Capacitor App in Xcode Cloud erstellen zum Planen der CI/CD-Automatisierung verwenden, verbinden Sie es mit Capgo CI/CD für den Produktworkflow in Capgo CI/CD, Capgo Native Builds für den Produktworkflow in Capgo Native Builds Capgo Integrations für den Produktworkflow in Capgo Integrations CI/CD-Integration für die Implementierungsdetails in CI/CD-Integration, und für die Implementierungsdetails in GitHub Actions Integration for the implementation detail in GitHub Actions Integration.

Live-Updates für Capacitor-Apps

Wenn ein Fehler im Weblayer lebt, schicken Sie die Reparatur über Capgo anstatt Tage für die Genehmigung des App-Stores zu warten. Die Benutzer erhalten die Aktualisierung im Hintergrund, während native Änderungen im normalen Review-Prozess bleiben.

Menschliche Unterstützung von Martin

Los geht's jetzt

Neueste von unserem Blog

Capgo gibt Ihnen die besten Einblicke, die Sie benötigen, um ein wirklich professionelles Mobiltelefon-App zu erstellen.