Erste Schritte
-
Plugin installieren
Terminal-Fenster npm i @capgo/capacitor-photo-libraryTerminal-Fenster pnpm add @capgo/capacitor-photo-libraryTerminal-Fenster yarn add @capgo/capacitor-photo-libraryTerminal-Fenster bun add @capgo/capacitor-photo-library -
Plattformen synchronisieren
Terminal-Fenster npx cap syncTerminal-Fenster pnpm cap syncTerminal-Fenster yarn cap syncTerminal-Fenster bunx cap sync
Plattformberechtigungen
Section titled “Plattformberechtigungen”- iOS:
Info.plistmitNSPhotoLibraryUsageDescriptionaktualisieren (undNSPhotoLibraryAddUsageDescription, wenn Sie Medien speichern möchten). - Android: Für Android 13+ die Foto-/Videoberechtigungen deklarieren (
READ_MEDIA_IMAGES,READ_MEDIA_VIDEO). Capacitor 5 behandelt dies automatisch, aber überprüfen Sie benutzerdefinierte Manifeste doppelt.
Zugriff anfordern
Section titled “Zugriff anfordern”import { PhotoLibrary } from '@capgo/capacitor-photo-library';
const { state } = await PhotoLibrary.requestAuthorization();if (state !== 'authorized' && state !== 'limited') { throw new Error('Fotozugriff verweigert');}Galerie laden
Section titled “Galerie laden”import { Capacitor } from '@capacitor/core';
const { assets, hasMore, nextPage } = await PhotoLibrary.getLibrary({ limit: 100, includeAlbums: false, thumbnailWidth: 256, thumbnailHeight: 256,});
const gallery = assets.map((asset) => ({ id: asset.id, fileName: asset.fileName, created: asset.creationDate, thumbnailUrl: asset.thumbnail ? asset.thumbnail.webPath ?? Capacitor.convertFileSrc(asset.thumbnail.path) : undefined, photoUrl: asset.file ? asset.file.webPath ?? Capacitor.convertFileSrc(asset.file.path) : undefined,}));Um zusätzliche Seiten abzurufen, rufen Sie PhotoLibrary.getLibrary({ cursor: nextPage }) auf.
Benutzer Medien auswählen lassen
Section titled “Benutzer Medien auswählen lassen”const selection = await PhotoLibrary.pickMedia({ selectionLimit: 5, includeVideos: true,});
console.log('Benutzer hat ausgewählt', selection.assets.length, 'Elemente');Zwischengespeicherte Dateien aufräumen
Section titled “Zwischengespeicherte Dateien aufräumen”Generierte Miniaturansichten und Exporte werden im App-Cache-Verzeichnis unter photoLibrary gespeichert. Entfernen Sie sie mit Ihrer bevorzugten Datei-API, wenn Sie Speicherplatz zurückgewinnen müssen.