# id-call: EUDI Verified Call als App für iOS und Android

> Der verifizierte Videoanruf als native App: ein Capacitor-Shell für beide Stores, mit fest verankerter Web-Version je Store-Build.

Quelle: https://kontrollfeld.de/referenzen/id-call-app/
Sprache: de
Kunde: Kontrollfeld (Eigenprodukt)
Branche: Digitale Identität
Tech-Stack: Capacitor, TypeScript, WebRTC, iOS, Android
Veröffentlicht: 2026-09-01
Hinweis: KI-generiert, menschlich reviewt.

---
## Ausgangslage

[EUDI Verified Call](/referenzen/eudi-wallet-portfolio/) funktioniert im Browser: zwei Personen weisen sich per EUDI-Wallet aus und sehen vor dem Verbinden, welche Identitätsdaten ausgetauscht werden. Wer sich aber ausweisen will, hat seine Wallet auf dem Telefon — und dort erwartet man eine App, kein Lesezeichen. Also braucht der Dienst eine Fassung für iOS und Android, ohne dass daraus eine dritte und vierte Codebasis wird.

## Lösung

Ein Capacitor-Shell, das den Web-Client als native App verpackt. Bewusst **ein** Repository für beide Plattformen: `ios/` und `android/` werden aus derselben Konfiguration erzeugt, und das, was tatsächlich gepflegt wird — Konfiguration, Sync-Skript, Icons, Store-Metadaten — liegt gemeinsam. Zwei Repositories würden das duplizieren und beim ersten vergessenen Abgleich auseinanderlaufen.

Das Shell enthält **keine Anwendungslogik**. Alles, was der Nutzer sieht, kommt aus dem Web-Client; das Shell liefert den nativen Rahmen, Deep Links und die Store-Metadaten. Geht im Anruf etwas schief, gehört die Korrektur in das Web-Repository — eine Grenze, die man einmal zieht und die danach jede Fehlersuche abkürzt.

Zwei Entscheidungen, die im Alltag zählen:

- **Nachvollziehbare Store-Builds.** Für Releases hängt der Web-Client als Git-Submodul auf einem festen Commit. Wenn der App Store Monate später fragt, was genau ausgeliefert wurde, existiert diese Antwort — bei einem Checkout daneben existiert sie nicht.
- **Sicherer Kontext für Kamera und Mikrofon.** Die WebViews laufen unter `https`-Schema, weil `getUserMedia` sonst nichts freigibt. Eine Kleinigkeit, die einen Videoanruf sonst schlicht nicht zustande kommen lässt.

## Ergebnis

Derselbe verifizierte Anruf, den es im Browser gibt, als App auf beiden Plattformen — aus einer gepflegten Quelle, mit einem Build, der belegen kann, was in ihm steckt.
