2026 OpenClaw in der Praxis: Auf dem Remote Mac App-Icon-PNG-Abmessungen mit Contents.json abgleichen und reproduzierbare Fix-Reports erzeugen

Creative Ops und iOS-Release-Verantwortliche verlieren weiterhin Stunden, wenn AppIcon.appiconset-PNGs nicht zu Contents.json passen und Xcode oder App Store Connect erst spät meckern. Dieses HowTo 2026 beschreibt einen reproduzierbaren Remote-Mac-Ablauf: OpenClaw installieren, einen Batch-Validator fahren, der gemessene Pixel gegen JSON-Erwartungen rechnet, einen Markdown-Fix-Report schreiben und optional einen entprellten Ordner-Watch oder launchd-Scheibe einhängen — damit Design-Ablieferung und Asset-Handoff automatisierbar bleiben. Die Slot-Mathematik ergänzen Sie mit der iOS-App-Icon-Liefermatrix.

Inhalt

Warum der Katalog trotzdem driftet

  1. Skalierungsfehler: Ein Master wird auf 2× und 3× kopiert, ohne Pixel neu zu berechnen; Dateinamen passen zu Contents.json, die Geometrie nicht.
  2. Veraltetes JSON: Umbenennungen ohne Aktualisierung aller images-Einträge erzeugen verwaiste Dateien und fehlende Referenzen.
  3. Stille Resize-Schritte: Optimierer oder Padding ändern Kantenlängen, während Vorschauen noch „okay“ wirken.

Ein Gate vor Merge oder Upload verwandelt solche Probleme in eine Zeile im Report statt in einen nächtlichen Build-Abbruch.

Automatisierungsform wählen

Modus Sinnvoll wenn Trade-off
Manueller CLI-Lauf Einmal-Audit vor App-Store-Einreichung Geringer Aufwand; unter Zeitdruck leicht vergessen
OpenClaw + entprellter Watch Designer legen Exporte in eine gemeinsame Inbox auf dem Remote Mac Idle-Fenster nötig, damit halb geschriebene PNGs nie validiert werden
OpenClaw + launchd-Scheibe Regelmäßige Batches alle 15 Minuten oder nächtlich Einfachere Kapazitätsplanung; kleine Verzögerung bis zum nächsten Tick

Installation, Konfiguration, Lauf (fünf Schritte)

  1. OpenClaw und Helfer installieren: OpenClaw auf dem Worker gemäß Team-Bootstrap einrichten, jq hinzufügen und sips -g pixelWidth -g pixelHeight an Beispiel-PNGs testen.
  2. Katalog pinnen: APPICON_DIR=/pfad/zu/AppIcon.appiconset und REPORT_PATH=./logs/appicon_fix_report.md setzen. git rev-parse HEAD oben in den Report schreiben.
  3. Contents.json linten: plutil -lint Contents.json ausführen. Syntax zuerst reparieren; defektes JSON erzeugt falsche Negative.
  4. Erwartete Pixel berechnen: Pro images[] mit filename Felder size (z. B. 60x60) und scale (2x) parsen. Kantenlänge = Basis-Points × ganzzahliger Faktor (2× → 2, 3× → 3).
  5. Messen und diffen: Jede referenzierte PNG ausmessen. Bei Abweichung Markdown-Zeile anhängen. Exit-Code ungleich null, solange Mismatch besteht — damit CI oder OpenClaw quarantänisieren kann.

Grundlagen zur Installation über Plattformgrenzen: OpenClaw-Installationsleitfaden.

Watch-Hook und Bash-Batch-Vorlage

Watch: Sobald inbox/appicon/ ca. 45 s ruht, nach work/ kopieren, validieren, bei Erfolg mit report.md nach out/ promoten — sonst nach failed/.

Batch: Alle *.appiconset unter Assets.xcassets in White-Label-Repos in einer Schleife; nächtlich Markdown zusammenführen.

#!/usr/bin/env bash
set -euo pipefail
DIR="${1:?path to AppIcon.appiconset}"
REPORT="${2:-./appicon_validation_report.md}"
JSON="$DIR/Contents.json"
{
  echo "# AppIcon validation"
  echo "- host: $(hostname)"
  echo "- path: $DIR"
  echo ""
  echo "| filename | expected | actual | status |"
  echo "|---|---:|---:|---|"
} > "$REPORT"
while read -r name w h; do
  [[ -z "${name:-}" ]] && continue
  fp="$DIR/$name"
  if [[ ! -f "$fp" ]]; then
    echo "| $name | ${w}x${h} | missing | FIX: add file |" >> "$REPORT"
    continue
  fi
  read -r aw ah < <(sips -g pixelWidth -g pixelHeight "$fp" \
    | awk '/pixelWidth/ {w=$2} /pixelHeight/ {print w, $2}')
  if [[ "$aw" -eq "$w" && "$ah" -eq "$h" ]]; then
    echo "| $name | ${w}x${h} | ${aw}x${ah} | OK |" >> "$REPORT"
  else
    echo "| $name | ${w}x${h} | ${aw}x${ah} | FIX: re-export |" >> "$REPORT"
  fi
done < <(jq -r '.images[] | select(.filename!=null)
  | [.filename,
      ((.size|split("x")[0]|tonumber) * (.scale|sub("x";"")|tonumber)),
      ((.size|split("x")[1]|tonumber) * (.scale|sub("x";"")|tonumber))]
  | @tsv' "$JSON")
echo "Wrote $REPORT"

Den jq-Filter bei Bedarf um idiom-spezifische Zeilen erweitern; erwartete Pixel immer aus JSON ableiten. Nach erfolgreicher Geometrie können Sie mit OpenClaw PNG-QA (Batch) Alpha, ICC und Byte-Limits nachziehen.

Zahlen und Richtlinien zum Zitieren

  • Skalen: 1×, 2× und 3× entsprechen Multiplikatoren 1, 2 und 3 für die Kantenlänge aus size in Contents.json.
  • Debounce & Aufbewahrung: 30–60 s Idle auf überwachten Bäumen; ca. 30 Tage Markdown oder JSONL unter logs/ für diffbare Release-Historie.
  • Parallelität: Validierung ist I/O-leicht — mehrere appiconset-Bäume sequentiell oder mit kleinem xargs -P-Fan-out auf M-Serie sind üblich, sofern die Platte mitmacht.

FAQ: typische Fehler

jq: error oder parse error bei Contents.json

Zuerst plutil -lint. Merge-Marker entfernen, UTF-8 ohne BOM sicherstellen. Gegen eine frische Xcode-Vorlage abgleichen.

sips kann die PNG nicht lesen

Datei leer, falsch als WebP getarnt oder noch schreibend — Idle-Fenster erzwingen, leere Dateien ablehnen, optional .done-Sidecar vom Export-Plugin.

Maße stimmen, Xcode beschwert sich dennoch

Idiom-Zeilen, Alpha am 1024-Marketing-Asset und Pflicht-Slots für das Deployment-Ziel prüfen. Geometrie-Check ist nötig, aber nicht hinreichend für App-Store-Richtlinien.

Führen Sie den Ablauf auf einem dedizierten Remote Mac aus, damit Laptops für kreative Arbeit frei bleiben und OpenClaw nächtliche Validierungen übernimmt. Weitere Automationsthemen in der Technik-Insights-Übersicht.

Zeitlich begrenzt ohne Anmeldung

Mac-Knoten vergleichen und Icon-Validierungs-Worker deployen

Öffnen Sie Preise & Knoten und Miet- und Kaufoptionen auf MacPng ohne Login, danach die Hilfe für SSH oder VNC — dieselben Skripte auf dem gemieteten Host einfügen.

Preise ansehen (ohne Login) Jetzt mieten SSH / VNC-Anleitung
Remote Mac · Design-Automatisierung App-Icon-PNG-Validierung
Preise (ohne Login)