Automatische iOS-Builds mit GitHub Aktionen mithilfe von Match
Die Einrichtung von CI/CD für Capacitor-Apps kann komplex und zeitaufwändig sein. Hier ist, was Sie wissen müssen:
Empfohlen für Neubauten: Verwenden Sie Capgo Build
Wir empfehlen nun die Verwendung von __CAPGO_KEEP_0__ Capgo mit der Capgo CLI erstellen zur Erstellung von nativen Capacitor-Bildern. Dieser Leitfaden zu Fastlane Match wird für Teams aufrechterhalten, die bestehende GitHub-Actions-Pipelines weiterhin unterhalten, aber neue iOS-Builds sollten die Capgo CLI verwenden, damit Sie Fastlane, Match-Repository, Xcode-Runner, Zertifikate und Upload-Skripte nicht selbst pflegen müssen.
Capgo-Build für CI/CD durch Capgo
Die Pflege von Fastlane Match, Xcode-Runner, Zertifikaten, Berechtigungsprofilen und Upload-Skripten überspringen. Capgo-Build führt von Ihrem bestehenden CI/CD-Pipeline aus signierte native iOS-Builds durch:
- Arbeitet mit Ihrer Pipeline zusammen: Capgo-Build auslösen, nachdem Sie Ihre Web-Build abgeschlossen haben, aus GitHub Actions, GitLab CI, Jenkins oder lokalen Skripten
npx cap sync. - Signierung aus CI-Schlüsseln: App Store Connect-Schlüssel, Zertifikate, Berechtigungsprofile, Passwörter und Team-IDs in Ihren eigenen CI-Schlüsseln speichern.
- Keine native Runner-Pflege: Capgo Build stellt gepflegte Apple-Build-Umgebungen bereit, sodass Sie macOS-Runner, Xcode-Bilder, Fastlane oder Match-Repositories nicht selbst verwalten müssen.
- Kompilierte Artefakte und Submission: Laden Sie signierte Artefakte für QA oder übermitteln Sie Release-Builds über das Capgo CLI.
Preise
- Capgo-Pläne beginnen bei 12 $/Monat
- Inklusive OTA-Updates und etwa 15 native Builds pro Monat
- Zusätzliche Build-Minuten werden durch Minuten über Kredite abgerechnet
Einrichten Sie Capgo Build in CI/CD
Manuelle Einrichtungsanleitung
Hier ist, was Sie tun müssen:
Kontinuierliche Lieferung für iOS mit Fastlane und GitHub Aktionen mit match
Voraussetzungen
Bevor Sie mit der Anleitung fortfahren…
- Stellen Sie sicher, dass Sie Fastlane installiert auf Ihrem Entwicklungsrechner.
- Mitgliedschaft im iOS-Entwicklerprogramm.
- Wunsch, etwas zu lesen 😆…
- Ein Team aus vielen Entwicklern, andernfalls empfehlen wir Ihnen, fastlane cert für einfache Workflows zu verwenden.
Wichtig zu den Preisen

https://github.com/features/actions
Die Dienstleistung ist ‘kostenlos’ bis zur Grenze, abhängig von der gewählten Maschine.
Wir werden eine macOS Maschine verwenden, Sie können im Screenshot ihren Preis und Grenzen (Preise zum Zeitpunkt der Erstellung des Tutorials, sie könnten sich in Zukunft ändern) sehen.
🔴 Warnen wir vor Anforderungen und Preisen, wenn Sie möchten, gehen wir weiter…
📣 In dem Beitrag nehmen wir an, dass wir die App in iTunes Connect erstellt haben, wir haben die Zertifikate des Apple-Ökosystems, alles wird von Fastlane kopiert!
Lassen Sie uns hineintauchen!
Schritte, die Sie im Beitrag befolgen müssen
- Verwendung von App Store Connect API mit Fastlane Match
- Anforderungen
- Erstellung eines App Store Connect API-Schlüssels
- Verwendung eines App Store Connect API-Schlüssels
- Dateien von Fastlane kopieren
- Fastlane Match konfigurieren
1. App Store Connect API verwenden mit Fastlane Match
Ab Februar 2021 ist für alle Benutzer eine zweifaktorale Authentifizierung oder eine zweistufige Überprüfung erforderlich, um sich bei App Store Connect anzumelden. Diese zusätzliche Sicherheitsschicht für Ihren Apple-ID hilft sicherzustellen, dass Sie der einzige sind, der Zugriff auf Ihr Konto hat.
Von Apple Support
Mit der Verwendung von match müssen Sie Ihre bestehenden Zertifikate widerrufen. Keine Sorge, Sie erhalten das neue direkt.
Anforderungen
Um App Store Connect API verwenden zu können, benötigt Fastlane drei Dinge.
- Aussteller-ID.
- Sicherheitschlüssel.
- Sicherheitsdatei oder Schlüsselinhalt.
Erstellung eines App Store Connect API-Schlüssels
Um Schlüssel zu generieren, müssen Sie in App Store Connect die Administratorrechte haben. Wenn Sie diese Berechtigung nicht haben, können Sie den relevanten Personen diesen Artikel zukommen lassen und die folgenden Anweisungen befolgen.
1 — Anmeldung bei App Store Connect.
2 — Auswahl von Benutzer und Zugriff.

3 — Auswahl der Integrationsoption.

4 — Klicken Sie auf Erstellen von API-Schlüssel oder auf die (+) Taste.

5 — Geben Sie einem Schlüssel einen Namen. Der Name dient nur Ihrer Referenz und ist nicht Teil des Schlüssels selbst.

6 — Unter Zugriff wählen Sie die Rolle für den Schlüssel aus. Die Rollen, die auf Schlüssel anwendbar sind, sind dieselben Rollen, die auf Benutzer auf Ihrem Team anwendbar sind. Siehe Benutzerrechte. Wir empfehlen, App-Manager.
7 — Klicken Sie auf Generieren.
Ein API-Schlüssels Zugriff kann nicht auf bestimmte Apps beschränkt werden.
Der Name des neuen Schlüssels, die Schlüssel-ID, ein Download-Link und weitere Informationen erscheinen auf der Seite.

Hier können Sie alle drei notwendigen Informationen abrufen.
<1> Issue-Nummer.
<2> Schlüssel-ID.
<3> Klicken Sie auf „Download API-Schlüssel“ zum Herunterladen Ihres API-Sicherheitsschlüssels. Der Download-Link erscheint nur, wenn der Sicherheitsschlüssel noch nicht heruntergeladen wurde. Apple speichert keinen Kopie des Sicherheitsschlüssels. Daher können Sie ihn nur einmal herunterladen.
🔴 Speichern Sie Ihren Sicherheitsschlüssel an einem sicheren Ort. Sie sollten Ihre Schlüssel niemals teilen, Schlüssel in einem code-Repository speichern oder Schlüssel in Client-Seitigen code-Code einbinden.
Mit einem App Store Connect API-Schlüssel
Der API-Schlüssel-Datei (p8-Datei, die Sie herunterladen), die Schlüssel-ID und die Aussteller-ID sind erforderlich, um den JWT-Token für die Autorisierung zu erstellen. Es gibt mehrere Möglichkeiten, diese Informationen in Fastlane einzugeben, indem Sie die neue Aktion von Fastlane verwenden. app_store_connect_api_key. Sie können andere Möglichkeiten in Fastlane-Dokumentation. Ich zeige Ihnen diese Methode, weil ich glaube, dass sie die einfachste Möglichkeit ist, mit den meisten CI auszukommen, bei denen Sie Umgebungsvariablen setzen können.
Jetzt können wir Fastlane mit dem App Store Connect API-Schlüssel verwalten, großartig!
2. Kopieren Sie Fastlane-Dateien
Fastlane ist eine Ruby-Bibliothek, die zum Automatisieren von mobilen Entwicklungsarbeiten erstellt wurde. Mit Fastlane können Sie benutzerdefinierte „Bahnen“ konfigurieren, die eine Reihe von „Aktionen“ enthalten, die Aufgaben ausführen, die Sie normalerweise mit Android Studio ausführen würden. Mit Fastlane können Sie eine Menge tun, aber für die Zwecke dieses Tutorials werden wir nur eine Handvoll grundlegender Aktionen verwenden.
Erstellen Sie einen Fastlane-Ordner am Wurzelverzeichnis Ihres Projekts und kopieren Sie die folgenden Dateien: Fastfile
default_platform(:ios)
DEVELOPER_APP_IDENTIFIER = ENV["DEVELOPER_APP_IDENTIFIER"]
DEVELOPER_APP_ID = ENV["DEVELOPER_APP_ID"]
PROVISIONING_PROFILE_SPECIFIER = ENV["PROVISIONING_PROFILE_SPECIFIER"]
TEMP_KEYCHAIN_USER = ENV["TEMP_KEYCHAIN_USER"]
TEMP_KEYCHAIN_PASSWORD = ENV["TEMP_KEYCHAIN_PASSWORD"]
APPLE_ISSUER_ID = ENV["APPLE_ISSUER_ID"]
APPLE_KEY_ID = ENV["APPLE_KEY_ID"]
APPLE_KEY_CONTENT = ENV["APPLE_KEY_CONTENT"]
GIT_USERNAME = ENV["GIT_USERNAME"]
GIT_TOKEN = ENV["GIT_TOKEN"]
def delete_temp_keychain(name)
delete_keychain(
name: name
) if File.exist? File.expand_path("~/Library/Keychains/#{name}-db")
end
def create_temp_keychain(name, password)
create_keychain(
name: name,
password: password,
unlock: false,
timeout: 0
)
end
def ensure_temp_keychain(name, password)
delete_temp_keychain(name)
create_temp_keychain(name, password)
end
platform :ios do
lane :build do
build_app(
configuration: "Release",
workspace: "./ios/App/App.xcworkspace",
scheme: "App",
export_method: "app-store",
export_options: {
provisioningProfiles: {
DEVELOPER_APP_ID => "#{PROVISIONING_PROFILE_SPECIFIER}"
}
}
)
end
lane :refresh_profiles do
match(
type: "development",
force: true)
match(
type: "adhoc",
force: true)
end
desc "Register new device"
lane :register_new_device do |options|
device_name = prompt(text: "Enter the device name: ")
device_udid = prompt(text: "Enter the device UDID: ")
device_hash = {}
device_hash[device_name] = device_udid
register_devices(
devices: device_hash
)
refresh_profiles
end
lane :closed_beta do
keychain_name = TEMP_KEYCHAIN_USER
keychain_password = TEMP_KEYCHAIN_PASSWORD
ensure_temp_keychain(keychain_name, keychain_password)
api_key = app_store_connect_api_key(
key_id: APPLE_KEY_ID,
issuer_id: APPLE_ISSUER_ID,
key_content: APPLE_KEY_CONTENT,
duration: 1200,
in_house: false
)
match(
type: 'appstore',
git_basic_authorization: Base64.strict_encode64("#{GIT_USERNAME}:#{GIT_TOKEN}"),
readonly: true,
keychain_name: keychain_name,
keychain_password: keychain_password,
api_key: api_key
)
gym(
configuration: "Release",
workspace: "./ios/App/App.xcworkspace",
scheme: "App",
export_method: "app-store",
export_options: {
provisioningProfiles: {
DEVELOPER_APP_ID => "#{PROVISIONING_PROFILE_SPECIFIER}"
}
}
)
pilot(
apple_id: "#{DEVELOPER_APP_ID}",
app_identifier: "#{DEVELOPER_APP_IDENTIFIER}",
skip_waiting_for_build_processing: true,
skip_submission: true,
distribute_external: false,
notify_external_testers: false,
ipa: "./App.ipa"
)
delete_temp_keychain(keychain_name)
end
lane :submit_review do
version = ''
Dir.chdir("..") do
file = File.read("package.json")
data = JSON.parse(file)
version = data["version"]
end
deliver(
app_version: version,
submit_for_review: true,
automatic_release: true,
force: true, # Skip HTMl report verification
skip_metadata: false,
skip_screenshots: false,
skip_binary_upload: true
)
end
end
Appfile
app_identifier(ENV["DEVELOPER_APP_IDENTIFIER"])
apple_id(ENV["FASTLANE_APPLE_ID"])
itc_team_id(ENV["APP_STORE_CONNECT_TEAM_ID"])
team_id(ENV["DEVELOPER_PORTAL_TEAM_ID"])
Konfigurieren Sie Fastlane match
Fastlane match ist eine neue Ansicht zu iOS' code Signierung. Fastlane match erleichtert es Teams, die erforderlichen Zertifikate und Provisioning-Profile für Ihre iOS-Apps zu verwalten.
Erstellen Sie ein neues privates Repository mit dem Namen certificates, zum Beispiel auf Ihrem GitHub persönlichen Konto oder Organisation.
Initialisieren Sie Fastlane match für Ihre iOS-Anwendung.
fastlane match init
Wählen Sie dann Option #1 (Git-Speicher).
[01:00:00]: fastlane match supports multiple storage modes, please select the one you want to use:1. git2. google_cloud3. s3?
Zuweisen Sie die URL des neu erstellten Repositorys.
[01:00:00]: Please create a new, private git repository to store the certificates and profiles there[01:00:00]: URL of the Git Repo: <YOUR_CERTIFICATES_REPO_URL>
Jetzt haben Sie im Fastlane-Ordner eine Datei mit dem Namen Matchfile sollte auf den HTTPS-URL des Zertifikats-Repository gesetzt werden. Optional können Sie auch SSH verwenden, aber das erfordert einen anderen Schritt zum Ausführen. Als Nächstes gehen wir dazu, die Zertifikate zu generieren und Ihre Anmeldeinformationen einzugeben, wenn Sie dazu aufgefordert werden, mit Fastlane Match.
_git_url_Sie werden aufgefordert, einen Passwort zu eingeben. Denken Sie daran, es richtig einzugeben, denn es wird später von __CAPGO_KEEP_0__ Actions verwendet, um Ihr Zertifikats-Repository zu entschlüsseln.
# ios/Matchfilegit_url("https://github.com/gitusername/certificates")storage_mode("git")type("appstore")
Wenn alles gut gelaufen ist, sollten Sie etwas Ähnliches sehen:
Wenn Sie bei GitHub und den notwendigen Berechtigungen Probleme hatten, vielleicht hilft Ihnen dieser
fastlane match appstore
Post
[01:40:52]: All required keys, certificates and provisioning profiles are installed 🙌
If you experienced any problem with GitHub and the necessary permissions, maybe this App Store Connect-Zertifikate Zuletzt öffnen Sie Ihr
App Store Connect-Zertifikate

Zuletzt öffnen Sie Ihr project in Xcode und aktualisieren Sie das Provisioning-Profil für die Release-Konfiguration Ihrer App.

Einige Dinge, die beachtet werden sollten 💡
MATCH
Damit die CI/CD die Zertifikate und Provisioning-Profiles importieren kann, muss sie Zugriff auf das Zertifikats-Repository haben. Sie können dies tun, indem Sie einen persönlichen Zugriffstoken (vorher verwendet werden sollte) generieren, der den Zugriff auf oder das Lesen von privaten Repositories ermöglicht.
In GitHub, gehen Sie zu Einstellungen → Entwickler-Einstellungen → Persönliche Zugriffstoken → klicken Sie Generate New Token → das Häkchen setzen repo Bereich → klicken Sie dann Generate token.

Haben Sie eine Kopie des generierten persönlichen Zugriffstokens. Sie werden es später für die Umgebungsvariable verwenden GIT_TOKEN.
Dann ersetzen Sie Ihr Match-File, das in der Fastlane-Folder generiert wurde durch Matchfile
CERTIFICATE_STORE_URL = ENV["CERTIFICATE_STORE_URL"]
GIT_USERNAME = ENV["GIT_USERNAME"]
GIT_TOKEN = ENV["GIT_TOKEN"]
FASTLANE_APPLE_ID = ENV["FASTLANE_APPLE_ID"]
git_url(CERTIFICATE_STORE_URL)
storage_mode("git")
type("appstore")
git_basic_authorization(Base64.strict_encode64("#{GIT_USERNAME}:#{GIT_TOKEN}"))
username(FASTLANE_APPLE_ID)
Dies wird von GitHub Actions verwendet, um die Zertifikate und Provisioning-Profile zu importieren. Und var wird in GitHub Secrets gesetzt, anstatt sie in der Datei hartcodiert zu haben.
Build-Verarbeitung
In GitHub Actions, Sie werden auf der Grundlage der Minuten Sie haben für die Ausführung Ihres CI/CD-Workflows verwendet. Aus Erfahrung dauert es etwa 10–15 Minuten, bevor ein Build in App Store Connect verarbeitet werden kann.
Für private Projekte kann die geschätzte Kosten pro Build bis zu $0,08/min x 15 min = $1,2, oder mehr, je nach Konfiguration oder Abhängigkeiten Ihres Projekts.
Wenn Sie dieselben Bedenken bezüglich der Preise haben wie ich für private Projekte, können Sie die skip_waiting_for_build_processing zu true.
Was ist der Haken? Sie müssen die Einhaltung Ihrer App in App Store Connect manuell aktualisieren, nachdem die Verarbeitung der Build abgeschlossen ist, damit Sie die Build an Ihre Benutzer verteilen können.
Dies ist nur ein optionaler Parameter, um zu aktualisieren, wenn Sie auf die Build-Minuten für private Projekte sparen möchten. Für kostenlose Projekte sollte das kein Problem sein. Siehe Preise.
3. Einrichten von GitHub Aktionen
Konfigurieren Sie GitHub Geheimnisse
Haben Sie sich schon einmal gefragt, wo die Werte der ENV herkommen? Nun, es ist kein Geheimnis mehr – es kommt aus Ihrem Projektschlüssel.

1. APP_STORE_CONNECT_TEAM_ID - die ID Ihres App Store Connect-Teams, wenn Sie in mehreren Teams sind.
2. DEVELOPER_APP_ID - in App Store Connect, gehen Sie zum App → App-Informationen → Scrollen Sie nach unten zur General Information Abschnitt Ihrer App und suchen Sie nach Apple ID.
3. DEVELOPER_APP_IDENTIFIER - Ihrer App-Bundle-Identifizierungsnummer.
4. DEVELOPER_PORTAL_TEAM_ID - der ID Ihres Entwickler-Portal-Teams, wenn Sie in mehreren Teams sind.
5. FASTLANE_APPLE_ID - der Apple-ID oder Entwickler-E-Mail, die Sie zum Verwalten der App verwenden.
6. GIT_USERNAME & GIT_TOKEN - Ihren Git-Nutzernamen und Ihren persönlichen Zugriffstoken.
7. MATCH_PASSWORD - die von Ihnen zugewiesene Passphrase, die zum Entschlüsseln der Zertifikate und Provisioning-Profile verwendet wird.
8. PROVISIONING_PROFILE_SPECIFIER - match AppStore <YOUR_APP_BUNDLE_IDENTIFIER>z.B. match AppStore com.domain.blabla.demo.
9. TEMP_KEYCHAIN_USER & TEMP_KEYCHAIN_PASSWORD - einem temporären Schlüsselkartenbenutzer und Passwort für Ihren Workflow zuweisen.
10. APPLE_KEY_ID — App Store Connect API Schlüssel 🔺Schlüssel-ID.
11. APPLE_ISSUER_ID — App Store Connect API Schlüssel 🔺Aussteller-ID.
12. APPLE_KEY_CONTENT — App Store Connect API Schlüssel 🔺 Schlüsseldatei oder Schlüsselinhalt von .p8, überprüfen Sie es
13. CERTIFICATE_STORE_URL — Die Repository-URL Ihres Match-Schlüssels (z.B. https://github.com/***/fastlane_match.git)
4. Konfigurieren Sie das GitHub-Workflow-File
Erstellen Sie ein GitHub-Workflow-Verzeichnis.
cd .github/workflows
Im workflow Ordner erstellen Sie eine Datei mit dem Namen build-upload-ios.ymlund fügen Sie folgendes hinzu.
name: Build source code on ios
on:
push:
tags:
- '*'
jobs:
build_ios:
runs-on: macOS-latest
steps:
- uses: actions/checkout@v6
- name: set Node.js
uses: actions/setup-node@v6
with:
node-version: '24'
cache: npm
- name: Install dependencies
id: install_code
run: npm ci
- name: Build
id: build_code
run: npm run build
- uses: actions/cache@v5
with:
path: ios/App/Pods
key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }}
restore-keys: |
${{ runner.os }}-pods-
- name: Sync
id: sync_code
run: npx cap sync
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7.2
- uses: maierj/fastlane-action@v2.3.0
env:
DEVELOPER_APP_IDENTIFIER: ${{ secrets.DEVELOPER_APP_IDENTIFIER }}
DEVELOPER_APP_ID: ${{ secrets.DEVELOPER_APP_ID }}
PROVISIONING_PROFILE_SPECIFIER: match AppStore ${{ secrets.DEVELOPER_APP_IDENTIFIER }}
TEMP_KEYCHAIN_USER: ${{ secrets.TEMP_KEYCHAIN_USER }}
TEMP_KEYCHAIN_PASSWORD: ${{ secrets.TEMP_KEYCHAIN_PASSWORD }}
APPLE_ISSUER_ID: ${{ secrets.APPLE_ISSUER_ID }}
APPLE_KEY_ID: ${{ secrets.APPLE_KEY_ID }}
APPLE_KEY_CONTENT: ${{ secrets.APPLE_KEY_CONTENT }}
CERTIFICATE_STORE_URL: https://github.com/${{ secrets.CERTIFICATE_STORE_REPO }}.git
GIT_USERNAME: ${{ secrets.GIT_USERNAME }}
GIT_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
FASTLANE_APPLE_ID: ${{ secrets.FASTLANE_APPLE_ID }}
MATCH_USERNAME: ${{ secrets.FASTLANE_APPLE_ID }}
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
APP_STORE_CONNECT_TEAM_ID: ${{ secrets.APP_STORE_CONNECT_TEAM_ID }}
DEVELOPER_PORTAL_TEAM_ID: ${{ secrets.DEVELOPER_PORTAL_TEAM_ID }}
with:
lane: closed_beta
- name: Upload release bundle
uses: actions/upload-artifact@v2
with:
name: ios-release
path: ./App.ipa
retention-days: 60
Dieses Workflow sollte nach jedem GitHub ausgelöst werden. Tag, wenn Sie die Automatisierung des Tags benötigen, beziehen Sie sich auf Automatischer Build und Release mit GitHub Aktionen Zuerst.
Dann wird diese Workflow Ihre NodeJS-Abhängigkeiten ziehen, sie installieren und Ihr JavaScript-Anwendungsprogramm bauen.
Jedes Mal, wenn Sie einen neuen Commit senden, wird ein Release in TestFlight erstellt.
Ihre App benötigt nicht zwingend Ionic, nur die Capacitor-Basis ist erforderlich. Sie kann alte Cordova-Module haben, aber die Capacitor-JS-Plugin wird bevorzugt.
5. Workflow auslösen
Erstellen Sie einen Commit
Machen Sie einen Commit, Sie sollten das aktive Workflow im Repository sehen.
Auslösen Sie das Workflow
Pushen Sie die neuen Commits in die Zweig main oder development um das Workflow auszulösen.

Nach einigen Minuten sollte das Build in Ihrem App Store Connect-Dashboard verfügbar sein.

Kann man von der lokalen Maschine bereitstellen?
Ja, Sie können es tun, und es ist einfach.
Stellen Sie sich vor, Sie haben ein privates Repository, und Sie haben die Minuten des kostenlosen Plans ausgeschöpft und Sie möchten nicht für neue Releases zahlen, oder vielleicht bevorzugen Sie, die Anwendung manuell einzureichen.
Lassen Sie es uns tun
Ok, erst müssen wir in mein_projekt_pfad/fastlane einen Dateien namens .env, genau in demselben Pfad wie Fastfile, um dieselben zu erstellen Geheimnis Eigenschaften, die in unserem _GitHub, a_s unten aufgeführt sind:
.env Datei für die Bereitstellung von der lokalen Maschine
Sie können jetzt zum Terminal und starten Sie das Schnellstrecke von Ihrem Computer:
fastlane closed_beta
❌ Wichtig über das .env Datei, da wir diese Daten nicht preisgeben möchten, müssen wir sie in unserer .gitignore, etwas in dieser Art und Weise: ❌
fastlane/*.env
Es sollte funktionieren, genau wie es auf der Remote-Maschine mit GitHub Aktionen passiert, aber auf unserer lokalen Maschine. 🍻

Terminalausführung: $ Fastlane closed_beta
Wenn Sie bis hierher gekommen sind, meine Glückwünsche, jetzt haben Sie einen vollautomatisierten Prozess für Ihre iOS-Apps mit Schnellstrecke und GitHub Aktionen.
Jedes Mal, wenn Sie einen neuen Commit senden, wird in Google Play Console eine Release im Beta-Kanal erstellt. Ich werde diese Blog-Beiträge verbessern, wenn Sie Feedback geben, wenn Sie Fragen oder Vorschläge haben, bitte lassen Sie mich wissen per E-Mail. martin@capgo.app
Auf Ihrem Gerät bauen
Wenn Sie immer noch auf Ihrem Gerät bauen müssen, müssen Sie sie manuell zur Bereitstellung hinzufügen.
Verbinden Sie Ihr Gerät mit Ihrem Mac und öffnen Sie das Gerätemenü
Dann kopieren Sie Ihren Identifikator
Und dann starten Sie den Befehl:
fastlane register_new_device
Es wird Sie auffordern, einen Gerätenamen und den Identifikator einzugeben:

Wenn Sie Probleme haben
Wenn Sie Probleme mit dem Entwicklungsgerät haben, können Sie nicht testen usw., das löst es normalerweise.
Es gibt einen magischen Befehl, der Ihnen helfen kann:
fastlane match nuke development
fastlane match development
Dann: Löschen Sie das Projekt, indem Sie die Taste Shift (⇧) und die Taste Command (⌘) gleichzeitig drücken oder "Produkt > Löschen" (es könnte als "Löschen des Build-Ordners" beschriftet sein) auswählen.
Versuchen Sie es dann noch einmal, die App auf Ihrem Gerät zu starten.
Vielen Dank.
Dieser Blog basiert auf den folgenden Artikeln:
- Kontinuierliche Lieferung für IOS mit Fastlane und GitHub-Aktionen
- Fastlane-Dokumentation
- Dieses GitHub-Nachricht von @mrogunlana
Bleiben Sie bei der automatischen Capacitor-IOS-Build mit GitHub-Aktionen mit match
Wenn Sie "__CAPGO_KEEP_0__ CI/CD" verwenden, um die CI/CD-Automatisierung zu planen, verbinden Sie es mit Automatische Capacitor-IOS-Build mit GitHub-Aktionen mit match Wenn Sie "__CAPGO_KEEP_0__ CI/CD" verwenden, um die CI/CD-Automatisierung zu planen, verbinden Sie es mit Automatische Capgo-IOS-Build mit __CAPGO_KEEP_1__-Aktionen mit match 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 GitHub Actions-Integration für die Implementierungsdetails in GitHub Actions-Integration