From e6a9ff4ec89b25849d9d0ffebffd01b342d6cf4c Mon Sep 17 00:00:00 2001 From: Tobi G Date: Mon, 7 Sep 2026 12:09:36 +0200 Subject: [PATCH] Apple-Backlog traegt jetzt den Ablauf eines Xcode-Laufs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- APPLE_DEV_BACKLOG.md | 64 ++++++++++++++++++++++++++++++++++++++++++++ OFFEN.md | 14 ++++++---- 2 files changed, 73 insertions(+), 5 deletions(-) diff --git a/APPLE_DEV_BACKLOG.md b/APPLE_DEV_BACKLOG.md index c1136d6..02276d9 100644 --- a/APPLE_DEV_BACKLOG.md +++ b/APPLE_DEV_BACKLOG.md @@ -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 diff --git a/OFFEN.md b/OFFEN.md index 518e7d7..14ac83e 100644 --- a/OFFEN.md +++ b/OFFEN.md @@ -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