Die Hinzufügung von Abhängigkeiten zu Capacitor -Plugins kann sich überwältigend anfühlen, aber es ist einfacher, wenn man es in klare Schritte aufteilt. Hier ist, was Sie wissen müssen:
-
Verstehen Sie die Werkzeuge:
-
Konfigurieren Sie Ihre Entwicklungsumgebung:
- Installieren Sie Werkzeuge wie Node.js, npm, Xcode, Android Studio, CocoaPods und JDK.
-
Starten Sie Ihr Capacitor-Plugin-Projekt:
- Verwenden Sie
npm init @capacitor/pluginum ein neues Plugin zu erstellen.
- Verwenden Sie
-
Hinzufügen Sie JavaScript-Abhängigkeiten:
- Verwenden Sie
npm installfür Produktions- und Entwicklungszwecke. - Aktualisieren Sie
package.jsonum Peer-Abhängigkeiten wie@capacitor/core.
- Verwenden Sie
-
Behandeln Sie plattform-spezifische Abhängigkeiten:
- iOS: Konfigurieren Sie CocoaPods oder SPM mit Bibliotheken wie Alamofire oder SwiftyJSON.
- Android: Verwenden Sie Gradle, um Abhängigkeiten wie Gson oder AppCompat hinzuzufügen.
-
Leistungsanpassung:
- Pins setzen, Abhängigkeiten überprüfen und Konflikte lösen, um Stabilität sicherzustellen.
-
Verwenden Sie Werkzeuge wie Capgo zur Live-aktualisierung:
- Push-Updates sofort ohne App-Store-Bewertungen.
Rapide Vergleich der Werkzeuge:
| Plattform | Tool | Beispiel Abhängigkeit |
|---|---|---|
| JavaScript | npm | npm install lodash --save |
| iOS | CocoaPods/SPM | pod 'Alamofire', '~> 5.6.4' |
| Android | Gradle | implementation 'com.google.code.gson:gson:2.10.1' |
Warum es wichtig ist: Die effektive Verwaltung von Abhängigkeiten sichert, dass Ihr Plugin reibungslos auf allen Plattformen funktioniert, Zeit spart und Fehler vermeidet. Lassen Sie uns tiefer in die Schritte eintauchen.
Wie man ein Capacitor Plugin für iOS/Android

Ihr Entwicklungs-Setup einrichten
Vorbereiten Sie Ihre Konfiguration mit den notwendigen Werkzeugen, um Capacitor Plugin Abhängigkeiten effektiv zu verwalten.
Erforderliche Entwicklungs-Werkzeuge
Hier ist eine Liste der Werkzeuge, die Sie benötigen:
| Werkzeug | Version | Zweck |
|---|---|---|
| Node.js | 16.0.0+ | JavaScript-Ausführungsumgebung |
| npm | 8.0.0+ | Paketverwaltung |
| Xcode | 14.0+ | iOS-Entwicklung (nur Mac) |
| Android Studio | Electric Eel+ | Android-Entwicklung |
| CocoaPods | 1.11.0+ | iOS-Abhängigkeitsverwaltung |
| JDK | 11+ | Android-Buildwerkzeuge |
Ein neues Plugin starten
Verwenden Sie die Capacitor CLI zum Starten Ihres Plugin-Projekts. Dazu gehört die Einrichtung von Plattformen und die Namensgebung Ihres Plugins im umgekehrten Domänenformat (z.B. com.mycompany.plugin):
- Führen Sie folgenden Befehl aus:
npm init @capacitor/plugin - Wählen Sie Ihre Zielplattformen (iOS/Android).
- Zuweisen Sie einem Namen für Ihr Plugin im umgekehrten Domänenformat.
Schritte zur Projekt-Einrichtung
-
Aktualisieren
package.jsonÄndern Sie Ihr
package.jsonum Folgendes zu enthalten:{ "capacitor": { "ios": { "src": "ios" }, "android": { "src": "android" } }, "peerDependencies": { "@capacitor/core": "^5.0.0" } } -
Plattform-spezifische Einrichtung
-
Für iOS, stellen Sie sicher, dass Ihr Podfile Folgendes enthält:
platform :ios, '13.0' use_frameworks! -
Für Android, überprüfen Sie, ob Ihr
build.gradleenthält:android { compileSdkVersion 33 defaultConfig { minSdkVersion 22 } }
-
-
Umgebungseinstellungen konfigurieren
Konfigurieren Sie die folgenden Umgebungseinstellungen für Ihre Entwicklungswerkzeuge:
Name Zweck Beispielwert ANDROID_HOME Android SDK Ort /Users/username/Library/Android/sdk JAVA_HOME Pfad der JDK-Installation /Library/Java/JavaVirtualMachines/jdk-11.0.12.jdk/Contents/Home XCODE_SELECT Xcode-Befehlszeilenwerkzeuge /Applications/Xcode.app/Contents/Developer
Sobald Ihr Projekt eingerichtet ist, seid Ihr bereit, sich auf die Verwaltung von JavaScript-Abhängigkeiten zu konzentrieren.
JavaScript-Abhängigkeiten
Die effektive Verwaltung von JavaScript-Abhängigkeiten ist entscheidend für eine stabile Pluginleistung.
npm Paketinstallation

Um Abhängigkeiten zu installieren, verwenden Sie die folgenden Befehle:
# Add a production dependency
npm install lodash --save
# Add a development dependency
npm install @types/lodash --save-dev
Stellen Sie sicher, dass Sie die Peer-Abhängigkeiten manuell in Ihrem package.json Datei einfügen. Testen Sie alle Abhängigkeiten, um die Kompatibilität auf beiden Web- und Native-Plattformen zu bestätigen.
Verwaltung von package.json
Hier ist ein Beispiel package.json Konfiguration:
{
"name": "my-capacitor-plugin",
"version": "1.0.0",
"dependencies": {
"lodash": "^4.17.21"
},
"devDependencies": {
"@types/lodash": "^4.14.195",
"@capacitor/core": "^5.0.0"
},
"peerDependencies": {
"@capacitor/core": "^5.0.0"
}
}
Um Konsistenz zu gewährleisten, passen Sie die Versionsnummern der Abhängigkeiten entsprechend an:
| Abhängigkeits-Typ | Beispiel | Anwendungsbereich |
|---|---|---|
| Genau | ”5.0.0” | Für kritische Abhängigkeiten, die eine bestimmte Version erfordern |
| Karet | ”^5.0.0” | Ermöglicht Minor-Updates und Patches |
| Tilde | ”~5.0.0” | Beschränkt Updates auf Patches nur |
Verwendung von JavaScript-Bibliotheken
Wenn Sie Bibliotheken importieren, konzentrieren Sie sich darauf, die Bundle-Größe zu reduzieren:
// Import only the required function
import { isEqual } from 'lodash';
export class MyPlugin {
async compare(options: { value1: any, value2: any }): Promise<boolean> {
return isEqual(options.value1, options.value2);
}
}
Stellen Sie sicher, dass Sie eine ordnungsgemäße Fehlerbehandlung und Typüberprüfung durchführen:
import { Plugin } from '@capacitor/core';
import { validate } from 'your-validation-library';
@Plugin({
name: 'MyPlugin',
platforms: ['web', 'ios', 'android']
})
export class MyPlugin {
async validateData(data: unknown): Promise<void> {
try {
if (!validate(data)) {
throw new Error('Invalid data format');
}
// Continue processing if valid
} catch (error) {
throw new Error(`Validation failed: ${error.message}`);
}
}
}
Als Nächstes erfahren Sie, wie Sie Plattform-spezifische Abhängigkeiten für iOS handhaben.
iOS-Abhängigkeiten
Diese Abschnitt erklärt, wie Sie native iOS-Abhängigkeiten verwalten. Capacitor-PluginsEinmal Ihre JavaScript-Abhängigkeiten eingerichtet, ist der nächste Schritt die Verwaltung von native iOS-Abhängigkeiten.
CocoaPods Einrichtung

Beginnen Sie mit der Initialisierung von CocoaPods in Ihrem iOS-Verzeichnis:
cd ios
pod init
Dann aktualisieren Sie Ihr Plugin.podspec Datei mit den folgenden Konfigurationen:
Pod::Spec.new do |s|
s.name = 'MyCapacitorPlugin'
s.version = '1.0.0'
s.summary = 'Your plugin description'
s.platform = :ios, '13.0'
s.dependency 'Capacitor'
# Include your iOS dependencies here
s.dependency 'Alamofire', '~> 5.6.4'
end
Podfile-Konfiguration
Nach der Initialisierung von CocoaPods, konfigurieren Sie die Podfile, um Capacitor und weitere dritte Bibliotheken einzuschließen:
platform :ios, '13.0'
use_frameworks!
def capacitor_pods
pod 'Capacitor', :path => '../../node_modules/@capacitor/ios'
pod 'CapacitorCordova', :path => '../../node_modules/@capacitor/ios'
end
target 'Plugin' do
capacitor_pods
# Add third-party dependencies
pod 'KeychainAccess', '~> 4.2.2'
pod 'SwiftyJSON', '~> 5.0.1'
end
target 'PluginTests' do
capacitor_pods
end
Hier sind einige gängige Abhängigkeitskonfigurationsmuster:
| Beschränkungstyp | Beispiel | Verwendungsfall |
|---|---|---|
| Genauer Version | pod 'KeychainAccess', '4.2.2' | Wenn eine genaue Kontrolle erforderlich ist, wie bei Sicherheitskomponenten |
| Kleine Version | pod 'Alamofire', '~> 5.6' | Für stabile APIs, die möglicherweise Patch-Updates erhalten |
| Hauptversion | pod 'SwiftyJSON', '> 5.0' | Wenn Flexibilität bei Updates akzeptabel ist |
Abhängigkeiten von Swift-Paketen
Wenn Sie CocoaPods nicht verwenden möchten, ist der Swift Package Manager (SPM) eine gute Alternative. Fügen Sie SPM-Abhängigkeiten direkt in Xcode mit der folgenden Konfiguration in Ihrem Package.swift __CAPGO_KEEP_0__
// Package.swift
dependencies: [
.package(url: "https://github.com/Alamofire/Alamofire.git", .upToNextMajor(from: "5.6.4")),
.package(url: "https://github.com/SwiftyJSON/SwiftyJSON.git", from: "5.0.1")
]
To verwenden Sie SPM-Abhängigkeiten in Ihrem Plugin code, importieren Sie sie und integrieren Sie sie wie erforderlich. Zum Beispiel:
import Capacitor
import Alamofire
@objc(MyPlugin)
public class MyPlugin: CAPPlugin {
@objc func makeRequest(_ call: CAPPluginCall) {
AF.request("https://api.example.com/data").response { response in
// Process the response
call.resolve([
"data": response.data
])
}
}
}
Diese Vorgehensweise ermöglicht es Ihnen, zwischen CocoaPods und Swift Package Manager basierend auf Ihren Projektanforderungen auszuwählen.
Android-Abhängigkeiten
Stellen Sie die Android-Abhängigkeiten ein, um eine glatte native Integration sicherzustellen. Hier erfahren Sie, wie Sie die Abhängigkeiten für Ihr Capacitor-Plugin verwalten.
Gradle Abhängigkeiten

Fügen Sie die folgenden Konfigurationen Ihrem build.gradle Datei:
android {
defaultConfig {
minSdkVersion 22
targetSdkVersion 33
}
}
dependencies {
implementation "androidx.appcompat:appcompat:1.6.1"
implementation "com.google.code.gson:gson:2.10.1"
implementation "org.jetbrains.kotlin:kotlin-stdlib:1.8.20"
implementation project(':capacitor-android')
}
Definieren Sie zusätzliche Versionen im buildscript Block:
buildscript {
ext {
androidxCoreVersion = '1.10.1'
kotlinVersion = '1.8.20'
}
}
Sobald die Abhängigkeiten konfiguriert sind, stellen Sie sicher, dass Sie die notwendigen Repositories einrichten.
Repository Konfiguration
In Ihrem Projekt-Level build.gradle, fügen Sie die erforderlichen Maven-Repositories hinzu:
allprojects {
repositories {
google()
mavenCentral()
maven { url "https://jitpack.io" }
}
}
Wenn Sie benutzerdefinierte oder private Maven-Repositories verwenden, fügen Sie wie folgt Anmeldeinformationen hinzu:
maven {
url "https://maven.example.com/releases"
credentials {
username = project.findProperty("mavenUsername") ?: System.getenv("MAVEN_USERNAME")
password = project.findProperty("mavenPassword") ?: System.getenv("MAVEN_PASSWORD")
}
}
Mithilfe der Repository-Konfiguration können Sie mögliche Abhängigkeitskonflikte beheben.
Kompatibilitätsprobleme beheben
Um Abhängigkeitskonflikte zu handhaben, wenden Sie Versionserweiterungen in Ihrem build.gradle:
configurations.all {
resolutionStrategy {
force "org.jetbrains.kotlin:kotlin-stdlib:1.8.20"
force "androidx.core:core-ktx:1.10.1"
}
}
Hier sind Strategien zur Auflösung häufiger Abhängigkeitsprobleme:
| Problemtyp | Strategie | Beispiel |
|---|---|---|
| Versionskonflikt | Eine bestimmte Version zwingen | force 'com.google.code.gson:gson:2.10.1' |
| Mehrere Versionen | Ein Modul ausschließen | exclude group: 'org.json', module: 'json' |
| Transitive Probleme | Strikte Versionen verwenden | strictly 'androidx.core:core-ktx:1.10.1' |
Zum Beispiel kannst du konkurrierende Module wie folgt ausschließen:
dependencies {
implementation('library:name:1.0.0') {
exclude group: 'com.conflicting.dependency'
}
}
Optimiere schließlich deinen Build-Prozess, indem du Caching und parallele Ausführung in gradle.properties:
org.gradle.caching=true
org.gradle.parallel=true
org.gradle.jvmargs=-Xmx2048m
Capgo Integration

Das Kombinieren von Capgo mit native und JavaScript-Abhängigkeitsverwaltung macht das Aktualisieren deiner Plugin schneller und einfacher.
Über Capgo
Capgo ist eine Live-Update-Plattform, die für Capacitor-Plugins und -Apps konzipiert ist. Mit über 23,5 Millionen Updates, die in 750 Produktionsanwendungen verteilt wurden [1], Capgo ermöglicht es Entwicklern, Updates für Abhängigkeiten und code sofort zu pushen - keine App-Store-Überprüfung erforderlich. Die Updates werden mit Ende-zu-Ende-Verschlüsselung gesichert und erfüllen sowohl die Apple- als auch die Android-Kompatibilitätsstandards.
Capgo Update-Funktionen
Capgo vereinfacht die Verwaltung von Plugin-Abhängigkeiten mit diesen Funktionen:
| Funktion | Was es tut | Schlüsselmetrik |
|---|---|---|
| Live-Updates | Push-Updates in Minuten | 95% Benutzeraktualisierungsrate in 24 Stunden |
| Teilaktualisierungen | Herunterladen nur geänderter Dateien | 434ms Durchschnittliche API Antwortzeit |
| Versionskontrolle | Verwalten Sie mehrere Versionen | 82% globale Erfolgsrate |
| Kanal-System | Ziel spezifische Benutzergruppen | Unterstützt mehrere Auslieferungskanäle |
Quelle: [1]
Capgo funktioniert reibungslos mit CI/CD-Tools wie GitHub Actions, GitLab CI und Jenkins, automatisiert Abhängigkeitsaktualisierungen und sichert konsistente Pluginversionen. Diese Tools erleichtern die Integration von Capgo in Ihren Workflow.
Einstellung von Capgo
Folgen Sie diesen Schritten, um Capgo in Ihr Projekt zu integrieren:
-
Installieren Sie das Capgo CLI
Führen Sie in Ihrem Terminal den folgenden Befehl aus:
npx @capgo/cli init -
Konfigurieren Sie die Update-Einstellungen
Verwenden Sie das Capgo-Dashboard, um die Einrichtung von Bereitstellungs-Kanälen und -Einstellungen vorzunehmen. Beide cloudbasierte und selbstgeführte Konfigurationen werden unterstützt.
-
Hinzufügen von Update-Logik
Fügen Sie diesen code in Ihre Haupt-Plugin-Datei ein, um Updates zu aktivieren:
import { Capgo } from '@capgo/capacitor-updater'; // Initialize Capgo const capgo = new Capgo({ appId: 'YOUR_APP_ID', channel: 'production' }); // Check for updates await capgo.checkForUpdate();
“Wir praktizieren agiles Entwicklung und @Capgo ist mission-kritisch bei der ständigen Bereitstellung an unsere Benutzer!” - Rodrigo Mantica
Capgo bietet auch ein Analytics-Dashboard für Echtzeit-Einsichten in die Erfolgsraten von Updates und Benutzeraktivitäten. Funktionen wie eine ein-klickige Rückschaltung und Fehlerverfolgung helfen, Probleme schnell zu lösen, und halten Ihre Plugin-Updates reibungslos laufen.
Zusammenfassung
Prozess-Überprüfung
Die Verwaltung von Abhängigkeiten für Capacitor-Plugins beinhaltet die Abstimmung der native Komponenten (iOS und Android) mit ihren JavaScript-Gegenstücken, um eine glatte Integration zu gewährleisten. Dieser Prozess umfasst plattform-spezifische Einrichtungen und die Verwaltung von JavaScript-Paketen, um die beste Leistung zu erzielen. Durch die Ausführung der aufgeführten Schritte können stabile und effiziente Plugin-Funktionen aufrechterhalten werden.
Gute Praktiken
Um Abhängigkeiten effektiv zu verwalten, sollten Sie diese Praktiken berücksichtigen:
| Übung | Vorteil | Implementierung |
|---|---|---|
| Version Pinning | Vermeidet unerwartete Probleme | Verwenden Sie feste Versionen in package.json |
| Plattform-Isolierung | Minimiert Konflikte | Separate native Abhängigkeiten |
| Regelmäßige Updates | Verbessert die Sicherheit | Wenden Sie kritische Patches zeitnah an |
| Abhängigkeitsprüfung | Risiken erkennt | Ausführen npm audit häufig |
Mit lebendigen Aktualisierungstools wie Capgo können diese Praktiken weiter vereinfacht und verbessert werden, indem Echtzeitaktualisierungen ermöglicht werden.
Capgo Vorteile
Capgo vereinfacht den Abhängigkeitsmanagementprozess und liefert eine starke Leistung. Es erreicht einen beeindruckenden 95% Benutzeraktualisierungsrate innerhalb von 24 Stunden und hält eine globale API Antwortzeit von 434ms [1]. Mit Ende-zu-Ende-Verschlüsselung stellt es sicher, dass sichere Aktualisierungen erfolgen, die sowohl den Apple- als auch den Android-Richtlinien entsprechen. Für Teams, die mehrere Pluginversionen verwalten, ermöglicht Capgo's Kanal-System gezielte Bereitstellungen für bestimmte Benutzergruppen.
Hier ist ein schneller Überblick über die Leistung von Capgo:
| Messwert | Wert |
|---|---|
| Globale API Antwortzeit | 434ms |
| Update-Erfolgsrate | 82% |
| Benutzer-Update-Rate (24 Stunden) | 95% |
Fahren Sie mit How to Add Dependencies in Capacitor Plugins fort
Wenn Sie " How to Add Dependencies in Capacitor Plugins um native Plugin-Arbeit zu planen, verbinden Sie es mit Capgo Plugin-Verzeichnis für das Produktworkflow in Capgo Plugin-Verzeichnis, Capacitor Plugins by Capgo for the implementation detail in Capacitor Plugins by Capgo, Plugins hinzufügen oder aktualisieren für die Implementierungsdetails in Plugins hinzufügen oder aktualisieren, Alternativen zu Ionic Enterprise Plugins für den Produktworkflow in Alternativen zu Ionic Enterprise Plugins, und Capgo Native Builds für den Produktworkflow in Capgo Native Builds.