Alle Artikel
iOS-App9 Min. Lesezeit

iOS-App: Kamera, Outbox, RoomPlan und LiDAR

Die SwiftUI-App nutzt AVFoundation für Fotos und Codes, eine persistente Outbox für Uploads und RoomPlan für parametrische Raumgeometrie.

OI

Open Inventory

Technische Notizen · MIT-lizenziert

Eine Person sortiert gedruckte Kategorienamen vor beschrifteten Umzugskartons und einem Drucker.
Reale Kontextfotografie beim Beschriften von Aufbewahrungsboxen. Das Motiv zeigt weder die Open-Inventory-App noch RoomPlan oder LiDAR. Foto: Blue Bird / Pexels.

Kurz zusammengefasst

  • AVFoundation liefert Fotos sowie QR- und Barcode-Erkennung
  • Die Outbox persistiert Fotos, IDs und bestätigte API-Stufen
  • RoomPlan liefert parametrische Geometrie, keinen fotorealistischen Scan

Echte App-Aufnahme

Karte in der nativen SwiftUI-App

Eigens angelegte Demo-Daten
Echte Aufnahme der nativen Open-Inventory-iOS-App mit Kartenansicht und Demo-Orten
Direkte Simulatoraufnahme der echten iOS-App mit absichtlich angelegten Orten und Demo-Inhalten.
01

Mehr als eine Webansicht

Native Komponenten und unterstützte Codes

Die MIT-lizenzierte SwiftUI-App liegt unter ios/Inventory. AVFoundation liefert Kamerabilder und Metadaten für QR, EAN-8/13, UPC-E, Code 128, Data Matrix, PDF417 und Aztec.

Die App löst UUID, Open-Inventory-Link, exakte SKU oder Seriennummer gegen den Server auf. Ein unbekannter Code kann als Identifier für einen neuen Eintrag übernommen werden. Danach folgen dieselben REST-Schritte wie im Web: Resource anlegen, Medien hochladen, optional analysieren und optional ein Cover erzeugen.

Der Bearer-Token liegt im iOS-Schlüsselbund. Fotos, Resource-ID, Media-IDs und Stage-Status werden servergebunden unter Application Support gespeichert. Wiederholungen verwenden pro Stufe stabile Idempotency-Keys.

02

Inventarisieren in Sekunden

Persistente Outbox und stufenweise API-Aufrufe

  1. 01

    Origin und Token setzen

    Die Root-URL bindet Queue-Einträge an einen Server. Öffentliche Hosts müssen HTTPS verwenden, bevor ein Bearer-Token gesendet wird.

  2. 02

    Code auflösen oder Resource vorbereiten

    Öffne einen vorhandenen Gegenstand über seinen Code oder erstelle einen neuen Eintrag mit bis zu zwölf Fotos.

  3. 03

    Request-Daten ergänzen

    Wähle Standort, optional GPS und – falls vorbereitet – den räumlichen Modus. Bei Bedarf kann ein Bestand direkt empfangen oder nach Bestätigung ausgegeben werden.

  4. 04

    Job in Application Support persistieren

    Die App kopiert Fotos in die Outbox und speichert die aktuelle Stufe. Danach können Upload und optionale KI-Schritte nacheinander laufen.

  5. 05

    Serverzustand prüfen

    Nach jeder Stufe speichert die App die zurückgegebenen IDs. Bei einem Neustart setzt sie beim letzten bestätigten Zustand fort; fachliche Felder müssen trotzdem geprüft werden.

03

RoomPlan

RoomPlan-Geometrie und Objektpositionen

Auf einem LiDAR-fähigen iPhone nimmt RoomPlan Wände, Öffnungen, Böden und erkannte Einrichtungsobjekte als parametrische Szene auf. Räume desselben Durchlaufs teilen sich ein ARKit-Koordinatensystem und können im Web gemeinsam gerendert werden.

Für ein Inventarobjekt relokalisiert sich die App im gespeicherten AR-Raum. Die Position kommt bevorzugt aus LiDAR-Tiefe, ersatzweise aus einer Ebenenschätzung. Foto, Raum-ID, Transform und Referenzframe laufen danach durch die normale Upload-Queue.

RoomPlan speichert kein fotorealistisches Mesh. Die Geometrie ist vereinfacht und kann Türen, Spiegel oder unklare Übergänge falsch klassifizieren. Deshalb bleiben manuelle Raumauswahl und reale Gerätetests nötig.

04

Vor dem Einsatz

Grenzen von Netz, Hardware und Umgebung

  • Der Server muss vom iPhone erreichbar sein; Bearer-Tokens werden für öffentliche Hosts nicht über unverschlüsseltes HTTP gesendet.
  • Der Simulator eignet sich für Teile von API und Oberfläche, nicht als Abnahme für Kamera, Scanner, LiDAR oder räumliche Genauigkeit.
  • Spiegelnde, strukturlose oder bewegte Szenen können AR-Erfassung und visuelle Wiedererkennung erschweren.
  • KI-Bilderkennung ist ein optionaler externer Verarbeitungsschritt, wenn ein entsprechender Anbieter konfiguriert wurde.
  • Ein räumlicher Marker ergänzt den Inventareintrag; fachlich wichtige Standortangaben sollten weiterhin verständlich benannt werden.
05

Offen weiterbauen

Codepfade im offenen Repository

Server-Routen, DTOs, APIClient, IntakeQueue, RoomPlan-Controller und SwiftUI-Oberflächen liegen gemeinsam im Open-Source-Repository. Dadurch lässt sich der mobile Request-Pfad vom Foto bis zum Datenbankeintrag direkt nachvollziehen.

Die MIT-Lizenz erlaubt eigene Builds und Änderungen. Für Signierung, Kamera, LiDAR und RoomPlan brauchst du trotzdem Apple-Werkzeuge sowie Tests auf einem physischen Gerät. Der Simulator deckt diese Hardwarepfade nicht ab.

Weiterführend

Vom Artikel in die Praxis