Zum Hauptinhalt springen

Fixing Build Failures in Capacitor CI/CD Pipelines

Lernen Sie, wie Sie Fehler bei der Erstellung von CI/CD-Pipelines für mobile Apps erkennen und verhindern können, um eine reibungslose Entwicklung und Bereitstellung zu gewährleisten.

Martin Donadieu

Martin Donadieu

Inhaltsmarketer

Fehler bei der Build-Abwicklung in Capacitor CI/CD-Pipelines beheben

Fehler bei der Build-Abwicklung in Capacitor Fehler bei der Build-Abwicklung in CI/CD-Pipelines können das mobile App-Entwicklungsprojekt stören, Zeit und Geld kosten.Hier ist eine schnelle Anleitung zu häufigen Problemen und deren Lösungen: Häufige Probleme und Lösungen:

Versionenkonflikte

  • : Stelle sicher,Node.js Node.jsnpm, Capacitor, und die Versionsnummern der Plugins stimmen in allen Umgebungen überein.
  • iOS/Android-Einrichtungsprobleme: Ausrichten Gradle, CocoaPods, Xcode, und SDK-Konfigurationen.
  • Umgebungsvariablen: Doppelchecken API-Schlüssel, Benutzernamen, Passwörter und Pfade für Konsistenz.
  • Plugin-Übereinstimmungen: Passen Sie Capacitor und Pluginversionen sorgfältig an.
  • CI-Plattform-Beschränkungen: Optimieren Sie Ressourcen, Caching und plattformspezifische Runner, um Timeouts zu vermeiden.

Ratgeber: Schnell und effektiv

  • Verpflichten Sie sich, Abhängigkeiten in package.json um unerwartete Updates zu vermeiden.
  • Verwenden Sie Werkzeuge wie npx cap doctor und Android Lint für die Fehlerbehebung.
  • Replicieren Sie CI-Umgebungen lokal mit .env Dateien, um die Tests zu verbessern.
  • Implementieren Sie Live-Updates, um sich App-Store-Verzögerungen zu entziehen.

Pro-Tipp: Werkzeuge wie Capgo können die Überwachung, die Sicherheit der Konfigurationen und die Möglichkeit zur Rückkehr in Echtzeit bei Fehlern erleichtern.

Wie man CI-Pipeline-Probleme identifiziert und behebt

Haupttypen von Capacitor __CAPGO_KEEP_0__-Buildfehler können aus verschiedenen Quellen stammen, wobei jede spezifische Lösungen erfordert. Hier unten werden einige der häufigsten Ursachen und ihre Manifestationen während des Build-Prozesses aufgeführt.

Capacitor Framework Documentation Website

Konkurrierende Versionen von Node.js, Capacitor, und dem __CAPGO_KEEP_1__ __CAPGO_KEEP_2__ sind ein häufiger Täter hinter Buildfehlern. Diese Konflikte treten oft aufgrund von missverstandenen Erwartungen zwischen verschiedenen Komponenten des Build-Systems auf. Hier sind einige gängige Szenarien:

__CAPGO_KEEP_1__

Conflicting versions of Node.js, npm, and the Capacitor CLI are a frequent culprit behind build failures. These conflicts often occur due to mismatched expectations between different components of the build system. Here are some common scenarios:

  • Unterschiede in Node.js- Laufzeitversionen zwischen lokalen Maschinen und CI-Umgebungen.
  • Inkonsequenzen bei Paketmanagern, wie npm oder Yarn.
  • Falsch zugeschnittene Versionen von Capacitor-Core-Bibliotheken und -Plugins.
  • Plattform-spezifische SDKs, die spezifische Versionen erfordern, die nicht übereinstimmen.

Die Verwaltung dieser Abhängigkeiten wird in multi-Umgebungs-Setup-Verfahren sogar noch schwieriger, da Konfigurationen stark variieren können.

iOS- und Android-Einrichtungsprobleme

Nativplattform-Konfigurationen können ein großer Hinderungsgrund sein, insbesondere bei der ersten Einrichtung oder nach signifikanten Updates. Probleme ergeben sich oft aufgrund von nicht übereinstimmenden Werkzeugen oder veralteten Einstellungen.

Für Androidgemeinsame Probleme umfassen:

  • Gradle-Synchronisierungsfehler nach dem Installieren von Plugins.
  • Verwenden Sie veraltete SDKs oder Build-Tools.
  • Falsch eingestellte JAVA_HOME Umgebungsvariablen.
  • Fehlende oder beschädigte Gradle-Wrapper-Dateien.

Für iOShäufige Probleme umfassen:

  • Abhängigkeitskonflikte mit CocoaPods.
  • Inkonistenzen in Xcode-Build-Artikeln.
  • Falsch konfigurierte code Signierzertifikate.
  • Veraltete Build-Einstellungen nach Capacitor-Updates.

Diese Probleme erfordern oft sorgfältige Debugging und Anpassung von Werkzeugen, um einen reibungslosen Build-Prozess sicherzustellen.

Umgebungsvariable-Setup-Probleme

Umgebungsvariablen spielen eine kritische Rolle im Build-Prozess und selbst kleine Fehlkonfigurationen können zu wiederholten Fehlern führen. Diese Probleme treten oft auf, wenn zwischen Entwicklungsumgebung und CI-Umgebung gewechselt wird. Gemeinsame betroffene Bereiche umfassen:

  • API-Schlüssel für externe Dienste.
  • code-Zugangsdaten.
  • Plattform-spezifische Konfigurationswerte.
  • Pfade und Einstellungen der Build-Umgebung.

Die Gewährleistung einer konsistenten Verwaltung von Umgebungsvariablen in allen Umgebungen ist entscheidend, um diese Fallen zu vermeiden.

Plugin-Versionen stimmen nicht überein

Plugins können Kompatibilitätsprobleme verursachen, die schwierig zu diagnostizieren sind. Ein typisches Beispiel beinhaltet das Abwägen von Capacitor, Ionic und bestimmten Plugins. Zum Beispiel kann die Behebung von „Something Went Wrong“-Fehlern erfordern, dass Capacitor 3.5.1, Ionic 5 und CapacitorGoogleAuth 3.1.4 aufeinander abgestimmt werden, während sichergestellt wird, dass der richtige Client-ID in beiden capacitor.config.ts und strings.xml.

Diese Übereinstimmungen erfordern oft sorgfältige Aufmerksamkeit für Versions- und Konfigurationsdetails, um gelöst zu werden.

CI-Plattformbeschränkungen

Die kontinuierliche Integration (CI)-Plattformen können ihre eigenen Herausforderungen mit sich bringen, insbesondere bei komplexen Builds. Hier ist eine Auflistung der gängigen Einschränkungen und ihrer Auswirkungen:

BeschränkungstypHäufige ProblemeAuswirkungen
ZeitüberschreitungenBei großen Apps auf Build-Timeouts stoßenUnvollständige Builds
RessourcenzuweisungGeringe Speicherung während der KompilierungFehlschlagende Builds
PlattformunterstützungEingeschränkte iOS-Build-Unterstützung auf Linux-RunnernPlattform-spezifische Fehler
CachingUnwirksamer AbhängigkeitscachingLangsamere Builds, Fristenrisiken

Um diese Probleme zu mindern, sollten Teams ihre CI/CD-Pipelines feinjustieren, indem sie geeignete Fristen einrichten, ausreichende Ressourcen zuweisen und den Abhängigkeitscaching optimieren. Wenn Sie für iOS oder Android bauen, können auch plattform-spezifische Runner helfen, die Kompatibilität zu wahren und die Leistung zu verbessern.

Schritte zur Fehlernbehandlung von Buildfehlern

Die effektive Fehlernbehandlung von Buildfehlern ist für das reibungslose Funktionieren Ihres CI/CD-Pipelines von entscheidender Bedeutung. Lassen Sie uns einige praktische Schritte zur Fehlerbehebung und -lösung aufschlüsseln. Testen von Buildfehlern lokal Beginnen Sie damit, Ihr lokales Umfeld zu reinigen, um cached Files und Abhängigkeiten zu entfernen, die zu Konflikten führen könnten. Verwenden Sie die folgenden Befehle:

Für Android-spezifische Builds können diese Befehle helfen, Probleme wie fehlende Skripte oder Assets zu lösen:

Als nächstes sollten Sie Ihre CI-Umgebung lokal nachbilden, indem Sie eine

rm -rf node_modules
rm -rf platforms
npm cache clean --force
npm install

CI/CD-Pipeline

npx cap update android
npx cap copy

running .env Datei. Include Variablen wie:

  • API Schlüssel
  • Build-Konfigurationsflags
  • Plattform-spezifische Einstellungen

Dadurch passt sich Ihre lokale Konfiguration der CI-Umgebung so gut wie möglich an.

Mit Build-Analyse-Tools

Nutzen Sie Build-Analyse-Tools, um Einblicke in potenzielle Probleme zu erhalten. Hier sind einige Tools und ihre Schlüsseldiagnosen:

ToolZweckSchlüsseldiagnosen
npx cap doctorUmfang der UmgebungsüberprüfungAbhängigkeitsversionen, Plattform-Einrichtung
Android LintStatistische code-AnalyseRessourcenverbrauch, Kompatibilitätsprobleme
Xcode AnalyzeriOS-Build-InspektionSpeicherlecks, API-Missbrauch

Während der Ausführung von Builds, überwachen Sie Stackschritte, Versionskonflikte, Konfigurationsdateien und Netzwerkzugriffe. Diese Diagnosen können dabei helfen, die Ursache von Fehlern zu identifizieren und Ihnen auf dem Weg zu einer Lösung zu leiten.

Übereinstimmende Entwicklungsumgebungen

Wenn Sie die Probleme identifiziert haben, passen Sie Ihre lokale Umgebung mit Ihrer CI-Einrichtung an, um zukünftige Probleme zu vermeiden. Hier ist, wie Sie es tun können:

Versionskontrolle
Sperren Sie Node.js- und Abhängigkeitsversionen, indem Sie Range-Spezifikatoren vermeiden. Verwenden Sie package-lock.json Um eine konsistente Umgebung zu gewährleisten.

Plattform-Konfiguration
Stellen Sie sicher, dass plattform-spezifische Einstellungen standardisiert sind. Zum Beispiel:

{
  "webDir": "dist",
  "platformVersion": {
    "ios": "14.0",
    "android": "29"
  }
}

Build-Skripte
Standardisieren Sie Ihre Build- und Test-Skripte für konsistentes Fehlerhandling und Logging:

{
  "scripts": {
    "build:ci": "npm run clean && npm run build && npx cap sync",
    "test:ci": "npm run test -- --ci --coverage"
  }
}

Methoden zur Verhinderung von Build-Fehlern

Die Verriegelung von Versionszahlen von Abhängigkeiten ist entscheidend, um stabile Builds in Ihrem Capacitor CI/CD-PipelinePipeline zu gewährleisten. Hier ist ein Schritt-für-Schritt-Leitfaden zur Implementierung von Strategien, die Build-Fehler verhindern und die Zuverlässigkeit verbessern.

Abhängigkeitsversionen-Verwaltung

Um unerwartete Änderungen zu vermeiden, die Ihre Builds stören können, verriegeln Sie die Versionszahlen von Abhängigkeiten in Ihren Konfigurationsdateien und behalten Sie die Verriegelungssdateien bei. Hier ist ein Beispiel für eine package.json Einrichtung:

{
  "dependencies": {
    "@capacitor/core": "5.0.0",
    "@capacitor/ios": "5.0.0",
    "@capacitor/android": "5.0.0"
  },
  "engines": {
    "node": ">=16.0.0",
    "npm": ">=8.0.0"
  }
}

Schritte zur effektiven Verwaltung von Abhängigkeiten:

Ein gut optimierter Pipeline sorgt für schnellere und effizientere Builds. Hier sind einige Methoden, um die Leistung zu verbessern:

Area

Schritte zur effektiven Verwaltung von Abhängigkeiten: __CAPGO_KEEP_0__

Beide __CAPGO_KEEP_1__ und __CAPGO_KEEP_2__ dein __CAPGO_KEEP_3__ commiten.MethodeErfolg
Job-ParallelisierungZielgruppentests in parallele Jobs aufteilenSchnellere Buildzeiten
Caching-StrategieVerwenden Sie layer-basierte Docker-CachingGeringere Builddauer
Ressourcen-AllokationZuordnen Sie geeignet dimensionierte RunnerVerbesserte Effizienz

Beispiel: Sie können die Caching- und Wiederholungslogik in Ihrem CI/CD-Pipeline wie folgt konfigurieren: __CAPGO_KEEP_0__

cache:
  key: ${CI_COMMIT_REF_SLUG}
  paths:
    - node_modules/
    - platforms/
    - plugins/

interruptible: true
retry:
  max: 2
  when: runner_system_failure

„Die Verpackung des Workflows, die Minimierung von Abhängigkeiten und die Überwachung der Geschwindigkeit des Workflows mit Warnungen bei Leistungseinbrüchen können zu stabilen und schnelleren Builds führen.“ – Darrin Eden [2]

Plattformkompatibilitätsprüfung

Sobald die Abhängigkeiten gesperrt und der Pipeline optimiert sind, ist es Zeit, Ihr App auf verschiedenen Plattformen zu testen, um Kompatibilitätsprobleme frühzeitig zu identifizieren. Hier ist ein Überblick über die Prüfungsstufen und Werkzeuge:

PrüfungsstufeWerkzeugeSchwerpunktbereiche
EinheitJest, MochaGeschäftslogik und Hilfsprogramme
IntegrationCypressPlattformübergreifende Funktionalität
End-to-EndAppiumNative-Funktionen
LeistungLighthouseRessourcenoptimierung

Zusätzliche Tipps für eine gründliche Testung:

  • __CAPGO_KEEP_0__
  • Aktivieren Sie das Crash-Reporting für beide Web- und Native-Schichten.
  • Verwenden Sie Source-Maps, um Fehler genau während der Debugging-Aktivität nachzuvollziehen.
  • Nutzen Sie Plattform-spezifische Entwickler-Tools, um Probleme zu identifizieren und zu lösen.

For iOS-Builds bestätigen Sie die Xcode-Kompatibilität und die Signierungs-Konfigurationen. Für Android stellen Sie sicher, dass die Gradle-Einstellungen und die SDK-Versionen Ihren Zielanforderungen entsprechen. Diese Schritte helfen Ihnen, Probleme frühzeitig zu erkennen und eine konsistente Leistung auf allen Plattformen zu gewährleisten.

Mit Capgo um Build-Fehler zu Managen

Capgo Live Update Dashboard Interface

Capgo bietet eine Reihe von Werkzeugen, die dazu entwickelt wurden, um Teams bei der Behandlung von Build-Fehlern in Capacitor CI/CD-Pipelineszu unterstützen. Durch die Combination von Überwachung, sicheren Konfigurationen und detaillierter Analyse unterstützt es Teams dabei, Build-Probleme zu identifizieren, anzugehen und zu verhindern. Im Folgenden werden wir sehen, wie Capgo diese Prozesse vereinfacht, um die CI/CD-Effizienz zu verbessern.

Build-Überwachung und -Recovery

Capgo's Echtzeit-Überwachung hält die Build-Status und die Bereitstellungsfortschritte im Auge und bietet Einblicke durch eine detaillierte Analyse-Tabelle. Hier sind einige Schlüssel-Metriken, die vom Platform getrackt werden:

Metrik-NameBenchmark
Lieferung aktualisieren23,5 Mio. Updates geliefert
Erfolgsrate95% der Benutzer wurden innerhalb von 24 Stunden aktualisiert
API Antwortzeit434ms weltweiter Durchschnitt
Bündel herunterladen114ms für ein 5MB-Bündel

Wenn Probleme auftreten, stellt Capgo's Rollover-System sicher, dass eine schnelle Wiederherstellung mit Funktionen wie:

  • Automatische Versionsverfolgung um Updates reibungslos zu überwachen.
  • Echtzeit-Update-Monitoring Für sofortige Problembestätigung.
  • Precise deployment control Zur Verwaltung von Updates in Phasen.
  • Fehlerprotokollierung Zur schnellen Lokalisierung von Problemen.

Sichere Konfigurationsverwaltung

Capgo überwacht nicht nur Builds - es schützt auch kritische Konfigurationen mit robusten Sicherheitsmaßnahmen. Mit Ende-zu-Ende-Verschlüsselung minimiert es das Risiko von Konfigurationsfehlern. Zum Beispiel hier ein Beispiel: Capgo-Konfiguration:

# Example Capgo configuration
secure_config:
  encryption: end-to-end
  access_control:
    - role_based_access
    - multi_factor_auth
  variable_management:
    - encrypted_storage
    - version_control

Die Plattform trennt auch Konfigurationen für Entwicklung, Staging und Produktionsumgebungen, um sicherzustellen, dass jede Umgebung independent und sicher arbeitet.

Analysewerkzeuge für Build-Fehler

Capgo-Analysewerkzeuge liefern umfassende Einblicke in Build-Fehler, was es Teams erleichtert, Probleme zu diagnostizieren und zu lösen. Diese Werkzeuge umfassen:

  • Detaillierte Build-Protokolle mit Kontextinformationen.
  • Leistungsmetriken-Tracking um die Systemgesundheit zu überwachen.
  • Abhängigkeitskonflikt-Detektion um Kompatibilitätsprobleme zu markieren.
  • Umgebungs-Konfigurations-Vergleich um Diskrepanzen zu identifizieren.

Für Teams, die von anderen Plattformen wechseln, vereinfacht Capgo die Übergang mit Migrationstools, die Kompatibilitätsprüfungen und Konfigurationsvalidierungen umfassen, um eine glatte Einrichtung und stabile Builds zu gewährleisten.

Fazit: Die Erstellung stabiler Capacitor Pipelines

Stabile Capacitor Pipelines zu erstellen erfordert sorgfältige Aufmerksamkeit bei der Verwaltung von Abhängigkeiten, der Aufrechterhaltung konsistenter Umgebungen und der Überwachung der Leistung. Im Zentrum dieses Prozesses stehen Versionskontrollsysteme und automatisierte Updates, die sicherstellen, dass der Pipeline sowohl sicher als auch zuverlässig bleibt. Diese Praktiken unterstreichen die Bedeutung einer proaktiven Vorgehensweise bei der Verwaltung von Abhängigkeiten.

„Die Verwaltung von Abhängigkeiten beinhaltet die Verwaltung der externen Bibliotheken, Werkzeuge und Komponenten, auf die eine Anwendung angewiesen ist, und stellt sicher, dass sie korrekt gelöst, aktualisiert und während des Entwicklungslebenszyklus gepflegt werden.“ - Jose Luis Amoros von Krasamo [1]

Moderne CI/CD-Tools wie Capgo vereinfachen die Bereitstellung und Überwachung, was es einfacher macht, die Pipelinestabilität aufrechtzuerhalten. Hier sind einige Schlüsselstrategien, die Teams anwenden können, um ihre Pipelines zu stärken:

StrategieWie Sie es umsetzenWarum es wichtig ist
VersionskontrolleAbhängigkeiten auf bestimmte Versionen festlegenVerhindert unerwartete Kompatibilitätsprobleme
UmgebungsgleichheitVerwenden Sie Containerisierung (z.B. Docker)Stellt sicher, dass Builds konsistent bleiben, wenn sie sich über verschiedene Stufen bewegen
Automatische UpdatesVerwenden Sie Abhängigkeits-ScannerHält Sicherheit und Leistung auf dem neuesten Stand
Konfigurations-ManagementTrennen Sie Umgebungs-KonfigurationenVerringert Konflikte bei der Bereitstellung

As Capacitor die Entwicklung weiter fortschreitet, werden diese Strategien Teams ermöglichen, Pipelines zu erstellen, die sowohl resilient als auch effizient sind. Durch das Fokussieren auf diese Best-Practice-Methoden können Entwickler Risiken minimieren und sicherstellen, dass die Bereitstellung glatter verläuft.

Häufig gestellte Fragen

::: faq

How kann ich mein Capacitor CI/CD Pipeline stabil halten, wenn ich ihn in verschiedenen Umgebungen ausführe?

Um Ihren Capacitor CI/CD Pipeline in verschiedenen Umgebungen reibungslos laufen zu lassen, sollten Sie diese praktischen Tipps beachten:

  • Effektive Verwaltung von Branches: Implementieren Sie eine strukturierte Verwaltung von Branches und erfordern Sie obligatorische code-Reviews. Dies hilft bei der Vermeidung von Konflikten und stellt sicher, dass Ihre Web- und native code-Anwendungen gut miteinander funktionieren.
  • Automatisieren Sie Builds und überprüfen Sie Variablen: Durch die Automatisierung Ihrer Build-Prozesse und die Validierung von Umgebungsvariablen können Sie erheblich die Fehlerquoten bei der Bereitstellung reduzieren.
  • Testen Sie ausgiebig: Durchführung umfassender Tests in allen Umgebungen, einschließlich Einheitstests und Integrationstests, können Sie Probleme frühzeitig identifizieren und lösen.

Mit Tools wie Capgo können diese Prozesse erleichtert werden. Capgo unterstützt eine reibungslose CI/CD-Integration, bietet sofortige Updates und bietet schnelle Rollback-Optionen, wenn erforderlich. Dies hilft dabei, eine glatte Bereitstellung und eine zuverlässige Leistung in allen Umgebungen sicherzustellen. :::

::: faq

Wie kann ich Abhängigkeiten effektiv verwalten, um Fehlbauten in Capacitor-Projekten zu vermeiden?

Um Ihre Capacitor-Projekte reibungslos laufen zu lassen und Fehlbauten zu vermeiden, Effektives Abhängigkeitsmanagement ist entscheidend. Regelmäßig aktualisieren Sie Ihre Abhängigkeiten, um Sicherheitslücken zu schließen und mit den neuesten Funktionen kompatibel zu bleiben. Werkzeuge wie der __CAPGO_KEEP_0__ __CAPGO_KEEP_1__, __CAPGO_KEEP_2__, oder yarn können diesen Prozess erleichtern und effizienter gestalten. is key. Regularly update your dependencies to patch security issues and stay compatible with the latest features. Tools like the Capacitor CLI, npm, or yarn can make this process easier and more efficient.

CocoaPods für iOS und Gradle für Android zurückgreifen, um eine ordnungsgemäße Abhängigkeitsverwaltung über Plattformen sicherzustellen. Um noch einen Schritt weiter zu gehen, sollten Sie die Automatisierung durch CI/CD-Pipelines in Betracht ziehen. Dies kann helfen, Probleme frühzeitig zu erkennen, indem automatisierte Überprüfungen für die Abhängigkeitsintegrität und -kompatibilität durchgeführt werden, wodurch die Wahrscheinlichkeit von Fehlern verringert wird, die durchsickern. Die Umsetzung dieser Praktiken wird dazu beitragen, dass Ihre __CAPGO_KEEP_0__-Anwendungen auf einer stabilen Grundlage mit weniger Entwicklungsstolpern erstellt werden.

Adopting these practices will help ensure your Capacitor apps are built on a stable foundation with fewer development hiccups. :::

::: faq

Wie kann Capgo bei der Behebung von Buildfehlern in Capacitor-CI/CD-Pipelines unterstützen?

Capgo übernimmt die Mühe der Diagnose und Behebung von Buildfehlern in Capacitor-CI/CD-Pipelines. Es bietet Werkzeuge wie automatisierte Fehlerverfolgung, Abhängigkeitskonfliktlösung, und Überprüfung von Umgebungsvariablen Damit Probleme frühzeitig erkannt und Build-Fehler minimiert werden können.

Darüber hinaus vereinfacht Capgo die Übertragung von Updates über das Internet (OTA) mit Funktionen wie Rückgängigmachungsoptionen, phasenweise Rollouts, und Echtzeit-Monitoring. Diese Tools erleichtern die Bereitstellung und machen sie kontrollierbarer. Zudem ermöglicht die Integration mit Ihren bestehenden CI/CD-Tools automatisierte Compliance-Überprüfungen und performance tracking, die Zuverlässigkeit und Effizienz Ihres Pipelines verbessern. :::

Weitermachen Sie mit der Fehlerbehebung in Capacitor CI/CD-Pipelines

Wenn Sie Fehlerbehebung in Capacitor CI/CD-Pipelines zur Planung 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 zur Detailbeschreibung in CI/CD Integration, und GitHub Aktionen Integration zur Detailbeschreibung in GitHub Aktionen Integration.

Live Updates für Capacitor-Apps

Wenn ein Web-Schicht-Bug live ist, liefern Sie die Reparatur über Capgo anstatt Tage für die Genehmigung des App-Store-Verfahrens zu warten. Die Benutzer erhalten die Aktualisierung im Hintergrund, während native Änderungen im normalen Review-Verfahren bleiben.

Los geht's jetzt

Neuestes aus unserem Blog

Capgo gibt Ihnen die besten Einblicke, die Sie benötigen, um eine wirklich professionelle mobile App zu erstellen.