Automatische iOS-Builds mit GitHub Actions mithilfe von Match
Die Einrichtung einer CI/CD-Pipeline für Capacitor-Apps kann komplex und zeitaufwändig sein. Hier sind die wichtigsten Informationen:
Empfohlen für neue Builds: Verwenden Sie Capgo Build
Wir empfehlen nun die Verwendung von Capgo Build mit der Capgo CLI für native Capacitor-Builds. This Fastlane Match Anleitung ist für Teams, die bestehende GitHub Actions Pipelines weiterhin unterhalten, aber neue iOS Builds sollten die Capgo CLI verwenden, damit Sie keine Fastlane, Match-Repositories, Xcode-Runner, Zertifikate und Upload-Skripte selbst verwalten müssen.
Capgo Build für CI/CD durch Capgo
Vermeiden Sie die Wartung von Fastlane Match, Xcode-Runner, Zertifikaten, Berechtigungsprofilen und Upload-Skripten. Capgo Build führt von Ihrem bestehenden CI/CD-Pipeline aus signierte native iOS-Builds durch:
- Arbeitet mit Ihrer Pipeline zusammen: Auslösen Sie Capgo Build von GitHub Actions, GitLab CI, Jenkins oder lokalen Skripten nach Ihrem Web-Build und
npx cap sync. - Signieren von CI-Secrets: Halten Sie App Store Connect-Schlüssel, Zertifikate, Berechtigungsprofile, Passwörter und Team-IDs in Ihren eigenen CI-Secrets.
- Keine native Runner-Wartung: Capgo Build stellt gepflegte Apple-Build-Umgebungen bereit, sodass Sie keine macOS-Runner, Xcode-Bilder, Fastlane oder Match-Repositories verwalten müssen.
- Artikel und Submission: Herunterladen von signierten Artefakten für QA oder Einreichung von Release-Builds über die 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 nach Minute über Krediten abgerechnet
Einrichten von 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 haben installiert auf Ihrem Entwicklungsmaschine.
- Mitgliedschaft im iOS-Entwicklerprogramm.
- Wunsch, etwas zu lesen 😆…
- Ein Team aus vielen Entwicklern, andernfalls empfehlen wir Ihnen, fastlane cert für einfache Workflows.
Wichtig zu wissen ist der Preis

https://github.com/features/actions
Die Dienstleistung ist 'kostenlos' bis zur Grenze, je nach gewählter Maschine.
Wir werden ein macOS Auf der Maschine, die Sie im Screenshot sehen, können Sie den Preis und die Grenzen (Preise zum Zeitpunkt der Erstellung des Tutorials, sie könnten sich in Zukunft ändern) sehen.
🔴 Wenn Sie nach den Anforderungen und Preisen gewarnt wurden, möchten Sie vielleicht fortfahren…
📣 In diesem Artikel gehen wir davon aus, dass wir das App bereits in iTunes Connect erstellt haben, wir haben die Zertifikate des Apple-Ökosystems, alles wird von Fastlane kopiert!
Los geht's!
Schritte, die Sie im Artikel 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
- Kopieren von Fastlane-Dateien
- Konfiguration von Fastlane match
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 Sicherheitsstufe für Ihr Apple-Konto hilft sicherzustellen, dass Sie der einzige Person sind, die Zugriff auf Ihr Konto hat.
Von Apple Support
Mit match loslegen erfordert, dass 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.
- Zertifikats-ID.
- Schlüssel-ID.
- Schlüsseldatei oder Schlüsselinhalt.
Ein App Store Connect API-Schlüssel erstellen
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 zeigen und die folgenden Anweisungen befolgen.
1 — Anmelden bei App Store Connect.
2 — Wählen Sie Benutzer und Zugriff.

3 — Wählen Sie die Integrationsoption.

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

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

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

Sie können alle drei notwendigen Informationen hier herunterladen.
1> Issue-ID.
2> Schlüssel-ID.
Klicken Sie auf <3> ‘Download API Schlüssel’ zum Herunterladen Ihres API privaten Schlüssels. Der Download-Link erscheint nur, wenn der private Schlüssel noch nicht heruntergeladen wurde. Apple hält keinen Kopie des privaten Schlüssels. Daher können Sie ihn nur einmal herunterladen.
🔴 Speichern Sie Ihren privaten Schlüssel an einem sicheren Ort. Sie sollten Ihre Schlüssel niemals teilen, Schlüssel in einem code Repository speichern oder Schlüssel in Client-Seiten code einbeziehen.
Verwendung eines App Store Connect API Schlüssels
Das API Schlüssel-File (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_keySie können andere Möglichkeiten in der Fastlane-Dokumentationfinden. Ich zeige Ihnen diese Methode, weil ich glaube, dass sie die einfachste Möglichkeit ist, um 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 die Fastlane-Dateien
Fastlane ist eine Ruby-Bibliothek, die zum Automatisieren von mobilen Entwicklungsarbeiten verwendet wird. 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 Root 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 Herangehensweise an iOS’s code Signierung. Fastlane match erleichtert es Teams, die erforderlichen Zertifikate und Berechtigungsprofile 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-App.
fastlane match init
Dann wählen Sie 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 ein Datei mit dem Namen Matchfile und
_git_url_should be set to the HTTPS-URL of the certificates repository. Optionalweise können Sie auch SSH verwenden, aber das erfordert einen anderen Schritt zum Ausführen.
# ios/Matchfilegit_url("https://github.com/gitusername/certificates")storage_mode("git")type("appstore")
Als nächstes gehen wir zur Erstellung der Zertifikate und geben Ihre Anmeldeinformationen ein, wenn Sie dazu aufgefordert werden, mit Fastlane Match.
Sie werden aufgefordert, einen Passwort zu eingeben. Denken Sie daran, es richtig zu speichern, denn es wird später von GitHub Actions verwendet, um Ihr Zertifikatsrepository zu entschlüsseln.
fastlane match appstore
Wenn alles gut gelaufen ist, sollten Sie etwas wie das sehen:
[01:40:52]: All required keys, certificates and provisioning profiles are installed 🙌
Wenn Sie bei GitHub und den erforderlichen Berechtigungen Probleme hatten, vielleicht hilft Ihnen dieser Beitrag erstellt Zertifikate und Provisioning-Profile werden in die Zertifikatsrepository-Ressourcen hochgeladen
App Store Connect-Zertifikate

in Xcode, und aktualisieren Sie das Provisioning-Profile für die Release-Konfiguration Ihrer App. project XCode-Zertifikate

Einige Dinge zu beachten 💡
MATCH
Für die CI/CD muss der Zugriff auf das Zertifikatsrepository haben, um die Zertifikate und Provisionierungsprofile importieren zu können. Sie können dies tun, indem Sie einen persönlichen Zugriffstoken (vorher verwendet) generieren, der die Berechtigung zum Zugriff auf oder Lesen von privaten Repositorien hat.
In GitHub, gehen Sie zu Einstellungen → Entwickler-Einstellungen → Persönliche Zugriffstoken → klicken Generate New Token → das repo Scope → klicken Generate token.

Haben Sie eine Kopie des generierten persönlichen Zugriffstokens. Sie werden es später für die Umgebungsvariable verwenden GIT_TOKEN.
Ersetzen Sie dann Ihre match-Datei, die im Fastlane-Ordner 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 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 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 den skip_waiting_for_build_processing Was ist der Haken? Sie müssen die Einhaltung Ihrer App in App Store Connect manuell aktualisieren, nachdem der Build verarbeitet wurde, damit Sie den Build an Ihre Benutzer verteilen können. true.
What’s the catch? You have to manually update the compliance of your app in App Store Connect after the build has been processed, for you to distribute the build to your users.
Dies ist nur eine optional 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 GitHub Aktionen
Konfigurieren Sie GitHub Geheimnisse
Haben Sie sich jemals gefragt, wo die Werte der ENV kommen her? Nun, es ist kein Geheimnis mehr – es kommt aus Ihrem Projekts Geheimnis.

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 Ihres Apps und suchen Sie nach Apple ID.
3. DEVELOPER_APP_IDENTIFIER - Ihre App-Bundle-Identifikationsnummer.
4. DEVELOPER_PORTAL_TEAM_ID - Die ID Ihres Entwickler-Portal-Teams, wenn Sie in mehreren Teams sind.
5. FASTLANE_APPLE_ID - Die Apple-ID oder Entwickler-E-Mail, die Sie zum Verwalten der App verwenden.
6. GIT_USERNAME & GIT_TOKEN - Ihr Git-Nutzernamen und Ihr persönlicher Zugriffstoken.
7. MATCH_PASSWORD - Der Passphrase, den Sie bei der Initialisierung von match zugewiesen haben, wird zum Entschlüsseln der Zertifikate und Provisioning-Profile verwendet.
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 - Zuweisen Sie einem temporären Schlüsselkartenbenutzer und Passwort für Ihren Workflow.
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. .p8, überprüfen Sie es
13. CERTIFICATE_STORE_URL — Die Repository-URL Ihrer Match-Schlüssel (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 ein 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-Tag ausgelöst werden , wenn Sie automatisierte Tags benötigen, zitieren Sie bitte die Referenzif you need to automatize tag please, refer to Automatische Build und Veröffentlichung mit GitHub Aktionen erstens.
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 in TestFlight eine Release erstellt.
Ihre App benötigt nicht unbedingt Ionic, nur die Capacitor-Basis ist erforderlich. Sie kann alte Cordova-Module haben, aber die Capacitor-JS-Plugin sollte bevorzugt werden.
5. Workflow auslösen
Commit erstellen
Machen Sie einen commitSie sollten das aktive Workflow im Repository sehen.
Auslösen Sie den Workflow
Stellen Sie die neuen Commits in die Zweig ein main oder um den Workflow auszulösen. development um den 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, das geht, und es ist einfach.
Stellen Sie sich vor, Sie haben ein privates Repository, und Sie haben die Minuten des kostenlosen Plans aufgebraucht und Sie möchten nicht zahlen für neue Releases, oder vielleicht bevorzugen Sie, die Anwendung manuell einzureichen.
Lassen Sie es uns tun
Ok, erst müssen wir in ein Datei namens my_project_path/fastlane .env, genau in dem gleichen Pfad wie Fastfile, um dieselben zu erstellen geheimer Schlüssel Eigenschaften, die in unserem _GitHub, wie unten angegeben, gefunden werden:
.env-Datei für die Bereitstellung von der lokalen Maschine
Sie können jetzt zum Terminal und starten Sie das Fastlane von Ihrer Maschine aus:
fastlane closed_beta
❌ Wichtige Informationen über das .env Datei, da wir diese Daten nicht offenlegen möchten, müssen wir sie in unserer .gitignore, etwas Ähnliches: ❌
fastlane/*.env
Es sollte funktionieren wie bei den GitHub Aktionen auf dem Remote-Computer, aber auf unserem lokalen Computer. 🍻

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 Fastlane und GitHub Aktionen.
Jedes Mal, wenn Sie einen neuen Commit senden, wird in der Google Play Console eine Release im Beta-Kanal erstellt. Ich werde diese Blog-Einträge verbessern, wenn Sie Feedback geben, wenn Sie Fragen oder Vorschläge haben, zögern Sie bitte nicht, mich per E-Mail zu kontaktieren martin@capgo.app
Auf Ihrem Gerät bauen
Wenn Sie noch immer auf Ihrem Gerät bauen müssen, müssen Sie sie manuell zur Bereitstellung hinzufügen.
find device ios menu
Und dann starten Sie den Befehl:
fastlane register_new_device
Es wird Sie auffordern, einen Gerätename und die Identifikationsnummer festzulegen:

Wenn Sie Probleme mit dem Entwicklungsgerät haben, können Sie es nicht testen usw., das löst es meistens.
There a magic command who can save you:
Dann: Löschen Sie das Projekt, indem Sie die Taste Shift (⇧) + Command (⌘) + K drücken oder "Produkt > Löschen" (es könnte als "Löschen des Build-Ordners" beschriftet sein) auswählen.
fastlane match nuke development
fastlane match development
Versuchen Sie es dann noch einmal, die App auf Ihrem Gerät zu starten.
if you got issues
Vielen Dank
Dieser Blog basiert auf folgenden Artikeln:
- Kontinuierliche Lieferung für IOS mit Fastlane und GitHub Aktionen
- Fastlane-Dokumentation
- Dieser GitHub Hinweis von @mrogunlana
Bleiben Sie bei der automatischen Capacitor IOS-Build mit GitHub Aktionen mit match
Wenn Sie Automatische Capacitor IOS-Build mit GitHub Aktionen mit match zur Planung der CI/CD-Automatisierung verwenden, verbinden Sie sie 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 GitHub Actions-Integration für die Implementierungsdetails in GitHub Actions-Integration.