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 neue Builds: Verwenden Sie Capgo Build
Wir empfehlen nun die Verwendung von Capgo Build mit dem Capgo CLI für native Capacitor-Builds. Diese Anleitung zu Fastlane Match wird für Teams beibehalten, die bestehende GitHub Actions-Pipelines weiterhin unterhalten, aber neue iOS-Builds sollten die Capgo CLI verwenden, damit Sie keine Fastlane, Match-Repository, Xcode-Runner, Zertifikate und Upload-Skripte selbst pflegen müssen.
Capgo Build für CI/CD durch Capgo
Die Fastlane Match, Xcode runner, Zertifikat, Provisionierungsprofil und Upload-Script-Pflege überspringen. Capgo Build führt von Ihrem bestehenden CI/CD-Pipeline aus signierte native iOS-Builds durch:
- Arbeitet mit Ihrer Pipeline: Auslösen Sie Capgo Build von GitHub Actions, GitLab CI, Jenkins oder lokalen Skripten nach Ihrem Web-Build und
npx cap sync. - Signierung aus CI-Secrets: Halten Sie App Store Connect-Schlüssel, Zertifikate, Provisionierungsprofile, Passwörter und Team-IDs in Ihren eigenen CI-Secrets.
- Keine native Runner-Pflege: Capgo Build stellt gepflegte Apple-Build-Umgebungen bereit, sodass Sie keine macOS-Runner, Xcode-Bilder, Fastlane- oder Match-Repository-Verwaltung durchführen müssen.
- Artikel und Einreichung: Laden Sie signierte Artikel für QA herunter 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 Credits 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 haben
- iOS-Entwicklerprogramm-Mitgliedschaft.
- Wunsch, 😆… zu lesen.
- Ein Team aus vielen Entwicklern, andernfalls empfehlen wir die Verwendung von fastlane cert für einfache Workflows.
Wichtig zu wissen ist der Preis

https://github.com/features/actions
Die Dienstleistung ist ‘kostenlos’ bis zur Grenze, abhängig von der gewählten Maschine.
Wir werden ein macOS Gerät verwenden, Sie können es im Screenshot sehen, Preis und Grenzen (Preise Stand der Erstellung des Tutorials, sie könnten sich in Zukunft ändern).
🔴 Wenn Sie über Anforderungen und Preise informiert wurden und Ihnen gefällt, dann gehen wir weiter…
📣 In diesem Blogbeitrag nehmen wir an, dass wir die 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 Blogbeitrag 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. Verwendung von App Store Connect API 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-Konto hilft dabei sicherzustellen, dass Sie der einzige Person sind, die Zugriff auf Ihr Konto haben.
Von Apple Support
Zum Starten mit 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.
- Zertifikats-ID.
- Sicherheits-ID.
- Sicherheitsdatei oder Schlüsselinhalt.
Erstellung einer App Store Connect API-Sicherheit
Um Schlüssel zu generieren, müssen Sie in App Store Connect Administratorrechte haben. Wenn Sie diese Berechtigung nicht haben, können Sie den relevanten Personen diesen Artikel zukommen lassen 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 (+) Add.

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. Die Rollen, die auf Schlüssel angewendet werden, sind dieselben Rollen, die auf Benutzer auf Ihrem Team angewendet werden. Siehe Rollenberechtigungen. Wir empfehlen Ihnen, App-Manager.
7 — Klicken Sie auf Generieren.
Ein API-Schlüssel kann nicht auf bestimmte Apps beschränkt werden.
Der neue Schlüsselname, die Schlüssel-ID, ein Download-Link und weitere Informationen erscheinen auf der Seite.

Hier können Sie alle drei notwendigen Informationen finden.
<1> Issue-ID.
<2> Schlüssel-ID.
<3> Klicken Sie auf „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. Sie können ihn also 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.
Mit einem App Store Connect API-Schlüssel
Der API-Schlüssel-Datei (p8-Datei, die Sie herunterladen), der Schlüssel-ID und der 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 man die neue Aktion von Fastlane verwendet. app_store_connect_api_key. Sie können andere Möglichkeiten in der Fastlane-Dokumentationerfahren. 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 die Fastlane-Dateien
Fastlane ist eine Ruby-Bibliothek, die es ermöglicht, häufige Aufgaben der mobilen Entwicklung zu automatisieren. 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 viel erreichen, 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 Ansicht auf iOS’s __CAPGO_KEEP_0__ Signierung. Fastlane match macht es Teams leicht, die erforderlichen Zertifikate und Berechtigungsprofile für Ihre iOS-Apps zu verwalten. is a new approach to iOS’s code signing. Fastlane match makes it easy for teams to manage the required certificates and provisioning profiles for your iOS apps.
, zum Beispiel auf Ihrem __CAPGO_KEEP_0__ persönlichen Konto oder Organisation. certificates, for example on your GitHub personal account or organization.
Wählen Sie dann Option #1 (Git-Speicher).
fastlane match init
Zuweisen Sie die URL des neu erstellten Repositorys.
[01:00:00]: fastlane match supports multiple storage modes, please select the one you want to use:1. git2. google_cloud3. s3?
Jetzt haben Sie im Fastlane-Ordner ein Datei mit dem Namen
[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>
Matchfile und sollte auf die HTTPS-URL des Zertifikats-Repositorys festgelegt werden. Optional können Sie auch SSH verwenden, aber das erfordert einen anderen Schritt zum Ausführen.
_git_url_Als nächstes gehen wir zu der Erstellung der Zertifikate und geben Ihre Anmeldeinformationen ein, wenn Sie dazu aufgefordert werden, mit Fastlane Match.
# ios/Matchfilegit_url("https://github.com/gitusername/certificates")storage_mode("git")type("appstore")
Initialize Fastlane match for your iOS app.
Sie werden aufgefordert, einen Passphrasse einzugeben. Denken Sie daran, ihn richtig einzugeben, da er später von GitHub Actions verwendet wird, um Ihre Zertifikatsrepository zu entschlüsseln.
fastlane match appstore
Wenn alles gut ging, sollten Sie etwas Ähnliches sehen:
[01:40:52]: All required keys, certificates and provisioning profiles are installed 🙌
Wenn Sie bei GitHub und den notwendigen Berechtigungen Probleme hatten, kann diese Anleitung hilfreich sein, um Authentifizierungstoken für Git zu generieren.
Erzeugte Zertifikate und Provisioning-Profile werden in den Zertifikatsrepository-Ressourcen hochgeladen.

Zum Schluss öffnen Sie Ihr project in Xcode, und aktualisieren Sie das Provisioning-Profile für die Release-Konfiguration Ihrer App.

Einige Dinge, die beachtet werden sollten 💡
MATCH
For die CI/CD muss Zugriff auf das Zertifikatsrepository haben, um die Zertifikate und Provisioningprofile importieren zu können. Sie können dies tun, indem Sie einen persönlichen Zugriffstoken (vorher verwendet) generieren, das die Berechtigung hat, private Repositories zu lesen oder zu schreiben.
In GitHub, gehen Sie zu Einstellungen → Entwickler-Einstellungen → Persönliche Zugriffstoken → Klicken Sie Generate New Token → Wählen Sie die repo Berechtigung → 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 Provisioningprofile zu importieren. Und var wird in GitHub Secrets gesetzt, anstatt sie in der Datei hartcodiert zu haben.
Aufbauverarbeitung
In GitHub Aktionen, 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
bis 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.
Dies ist nur ein optionaler Parameter, um die Build-Minuten für private Projekte zu sparen. Für kostenlose Projekte sollte dies kein Problem sein. Siehe
Preise pricing.
3. Setup GitHub Aktionen
Konfigurieren Sie GitHub Geheimnisse
Haben Sie sich je gefragt, wo die Werte von den ENV kommen? Nun, es ist kein Geheimnis mehr – sie kommen 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 - die ID Ihres App-Bundles.
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 - Ihren Git-Nutzernamen und Ihren persönlichen Zugriffstoken.
7. MATCH_PASSWORD - Die Passphrase, die 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üsselkarten-Nutzer 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 von .p8, Überprüfen Sie es
13. CERTIFICATE_STORE_URL — Die Repo-URL Ihrer Match-Schlüssel (z.B. https://github.com/***/fastlane_match.git)
4. Konfigurieren Sie das GitHub-Workflow-File
Erstellen Sie einen GitHub-Workflow-Ordner.
cd .github/workflows
Im Ordner erstellen Sie eine Datei mit dem Namen workflow und fügen Sie folgendes hinzu. build-upload-ios.ymlDiese Workflow sollte nach jedem __CAPGO_KEEP_0__-Tag ausgelöst werden
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
This workflow should be triggered after each GitHub Automatisches Build und Release mit __CAPGO_KEEP_0__-Aktionenzuerst. Automatic build and release with GitHub actions first.
Dann wird diese Workflow deine NodeJS-Abhängigkeiten ziehen, sie installieren und dein JavaScript-Anwendungsprogramm bauen.
Jedes Mal, wenn Sie einen neuen Commit senden, wird in TestFlight ein Release erstellt.
Ihre App muss nicht Ionic verwenden, nur die Capacitor-Basis ist erforderlich. Sie kann alte Cordova-Module haben, aber das Capacitor-JS-Plugin wird bevorzugt.
5. Workflow auslösen
Commit erstellen
Machen Sie einen commitSie sollten das aktive Workflow im Repository sehen.
Auslösen Sie den Workflow
Schieben Sie die neuen Commits in die Zweig main oder 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 deployen?
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 möchten nicht für neue Releases zahlen, oder vielleicht bevorzugen Sie es, die Anwendung manuell zu übermitteln.
Los geht's
Ok, erst müssen wir in my_project_path/fastlane pfad einen Dateien namens .env, gerade in demselben Pfad wie Fastfile, um dasselbe zu erstellen geheimer Eigenschaften, die in unserem _GitHub, a_s unten gefunden werden können:
.env-Datei für die Bereitstellung von der lokalen Maschine
Sie können jetzt zum Terminal und starten Sie das Fastlane von Ihrer Maschine:
fastlane closed_beta
❌ Wichtige Informationen über die .env-Datei Datei, da wir diese Daten nicht offenlegen möchten, müssen wir sie in unserer .gitignore, etwas in dieser Art: ❌
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 hier 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 Google Play Console eine Release im Beta-Kanal erstellt. Ich werde diese Blog-Einträge verbessern, wenn Sie Feedbacks haben, 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 noch immer auf Ihrem Gerät bauen müssen, müssen Sie sie manuell zur Provisionierung hinzufügen.
Verbinden Sie Ihr Gerät mit Ihrem Mac und öffnen Sie das Gerätemenü
Dann kopieren Sie Ihren Identifier
Und dann starten Sie den Befehl:
fastlane register_new_device
Es wird Sie auffordern, einen Gerätenamen und den Identifier festzulegen:

Wenn Sie Probleme haben
Wenn Sie Probleme mit dem Entwicklungsgerät haben, können Sie es nicht testen usw. Das Problem wird in der Regel dadurch gelöst.
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 (⇧) + die Taste Command (⌘) + K halten oder Produkt > Löschen (es könnte als „Löschen des Build-Ordners“ beschriftet sein) auswählen
Dann versuchen Sie es erneut, die App auf Ihrem Gerät zu starten.
Vielen Dank
Dieser Blog basiert auf den folgenden Artikeln:
- Stetige Lieferung für IOS mit Fastlane und GitHub Aktionen
- Fastlane-Dokumentation
- Dies ist eine GitHub Nachricht von @mrogunlana
Fortsetzen Sie mit der automatischen Capacitor IOS-Build mit GitHub Aktionen unter Verwendung von match
Wenn Sie __CAPGO_KEEP_0__ CI/CD verwenden Automatische Capacitor IOS-Build mit GitHub Aktionen unter Verwendung von match um die CI/CD-Automatisierung zu planen, verbinden Sie es mit Capgo CI/CD 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 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.