Apple-Backlog traegt jetzt den Ablauf eines Xcode-Laufs

Auf die Frage, welche Datei man am Mac in die Hand nimmt: der Backlog war die
richtige Antwort, ihm fehlte aber genau das - er beschrieb den Zustand und die
Pruefliste, nicht den Ablauf.

Neuer Abschnitt "Wie ein Lauf abläuft": was vorher zu tun ist (git pull; das
Skript bricht selbst ab, wenn der Baum unsauber oder HEAD nicht gleich
origin/main ist), der eine Befehl samt seiner dreizehn Schritte, dass die
Fassung aus manifest.json kommt und nichts von Hand hochzuzaehlen ist, das
einmalige Schluesselbund-"Immer erlauben" samt Symptom wenn man es uebersieht,
und danach Push plus der itms-services-Link in Safari - ausdruecklich ohne ?v=,
mit Verweis auf den Befund aus Abschnitt CK.

Damit ist die Datei als alleinige Uebergabe brauchbar; AGENTS.md braucht man nur
noch fuers Warum. OFFEN.md 1.1 verweist entsprechend darauf.
This commit is contained in:
2026-09-07 12:09:36 +02:00
parent 2bf1691fb8
commit e6a9ff4ec8
2 changed files with 73 additions and 5 deletions
+64
View File
@@ -45,6 +45,70 @@ wirklich auf einen Lauf wartet, steht unten.
---
## Wie ein Lauf abläuft
**Diese Datei ist die Übergabe.** Wer am Mac sitzt - mit oder ohne Claude am
Xcode - braucht keine weitere: hier steht der Stand, der eine Befehl, und was
danach zu prüfen ist. `AGENTS.md` ist nur für das *Warum* nötig.
### Vorher
Nichts vorzubereiten außer einem aktuellen Stand:
```bash
git pull
```
Das Skript prüft das selbst und **bricht ab**, wenn der Arbeitsbaum nicht sauber
oder `HEAD` nicht gleich `origin/main` ist - sonst signierte es einen veralteten
Stand. Ebenso bricht es ab, wenn das Zielgerät nicht im Team eingetragen ist
(„Your team has no devices"); das ist dann eine Portal-Sache, kein Projektfehler.
### Der Lauf
```bash
bash companion-app/scripts/ios-signieren.sh
```
Ein Befehl, von jedem Verzeichnis im Repository aus. Er wechselt selbst nach
`companion-app/` und erledigt der Reihe nach: Git-Stand prüfen, Webbündel bauen,
native Hülle synchronisieren, Standort-/Kalender-/Kamera-Berechtigung eintragen,
Share-Erweiterung einrichten, App-Symbol einspielen, Versionsnummern setzen,
Archiv bauen und signieren, `.ipa` exportieren, **die fertige `.ipa` gegenlesen**
und die Auslieferung über die Luft vorbereiten.
**Die Fassung kommt aus `custom_components/audi_dashboard/manifest.json`** - es
gibt nichts von Hand hochzuzählen. Beim Schreiben dieser Zeilen wäre das
`2026.9.6.5`.
**Einmalig beim ersten Signieren:** der Schlüsselbund fragt, ob `codesign` den
Schlüssel benutzen darf. **„Immer erlauben"** wählen, nicht „Erlauben" - ein
Archiv signiert über 25 Programmteile und fragte sonst jedes Mal erneut. Bleibt
der Lauf minutenlang beim Signieren stehen, wartet er auf genau diesen Dialog.
### Danach
```bash
git add companion-app/auslieferung && git commit && git push
```
Das Telefon lädt die `.ipa` aus dem Repository - ohne diesen Push ändert sich
dort nichts. Danach in **Safari** auf dem Telefon öffnen (andere Browser reichen
`itms-services://` nicht an das System weiter):
```
itms-services://?action=download-manifest&url=https://gitea.nothaft.cloud/paul/audi-app/raw/branch/main/companion-app/auslieferung/manifest.plist
```
Die Adresse trägt **kein** `?v=` - ein zweites Fragezeichen zerlegt den
Parameter, und weil iOS die Rückfrage erst aus dem geladenen Manifest baut,
passiert dann sichtbar gar nichts (Abschnitt CK).
Zum Schluss die eine Prüfung, die kein Skript abnehmen kann - siehe Abschnitt C
unten.
---
## A. Wartet auf einen Xcode-Lauf
### A1. Zwei eigene Plugins sind auf dem Telefon tot
+9 -5
View File
@@ -26,12 +26,16 @@ Datei dazu.
Zwischenablage und Kalendereintrag sind in der installierten App wirkungslos.
Beide Korrekturen liegen im Repository und warten nur auf einen Lauf.
*Was zu tun ist:* am Mac `companion-app/scripts/ios-signieren.sh` laufen lassen,
danach die fertige `.ipa` pushen (das Telefon lädt sie aus dem Repository). Das
Skript prüft sich selbst und bricht ab, wenn etwas fehlt; von Hand bleibt nur
die Probe auf dem Gerät.
*Was zu tun ist:* am Mac `git pull`, dann
`bash companion-app/scripts/ios-signieren.sh`, danach die fertige `.ipa` pushen
(das Telefon lädt sie aus dem Repository). Ein Befehl - das Skript prüft sich
selbst und bricht ab, wenn etwas fehlt; von Hand bleiben das
Schlüsselbund-„Immer erlauben" beim ersten Signieren und die Probe auf dem
Gerät.
Vollständig samt Begründung: **`APPLE_DEV_BACKLOG.md`**, Abschnitte A1 und A2.
**Die Datei, die man dafür in die Hand nimmt, ist
[`APPLE_DEV_BACKLOG.md`](APPLE_DEV_BACKLOG.md)** - sie trägt den Ablauf, den
Stand und die Prüfliste; Abschnitt „Wie ein Lauf abläuft", dann A1 und A2.
### 1.2 Gitea-Token für den Laborzweig DM180