From 636513627505e7da5bacef9a026cd7a88c9bc99b Mon Sep 17 00:00:00 2001 From: Tobi G Date: Fri, 4 Sep 2026 14:38:40 +0200 Subject: [PATCH] Installationslink: kein zweites ? in der Manifest-Adresse Der Cache-Brecher vom selben Tag stand auch an der Manifest-Adresse INNERHALB des itms-services-Links. Das zweite ? und = in der Abfrage kann den Wert von url abschneiden - der Abruf scheitert, und weil iOS die Rueckfrage erst aus dem geladenen Manifest baut, erscheint gar keine. Auf .ipa und Symbole innerhalb des Manifests bleibt der Cache-Brecher. Co-Authored-By: Claude Opus 5 --- AGENTS.md | 43 +++++++++++++++++++++++++++ companion-app/auslieferung/index.html | 2 +- companion-app/scripts/ios-luftweg.sh | 4 +-- 3 files changed, 46 insertions(+), 3 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 961d32b..369a861 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -10434,3 +10434,46 @@ keiner der `.ipa`. dann kann eine *frische* Ersteinrichtung mit `.17` eine Adresse im Heimnetz noch falsch raten. Fuer den realen Betrieb ohne Belang - dort steht `https://datametric360.de` im Feld, und `https` ist da richtig. + +### Nachtrag (2026-09-04): der Installationslink fragte nichts mehr - ein `?` zu viel + +Gemeldet: der `itms-services`-Link oeffnet keine Rueckfrage, es passiert gar nichts. + +**Am Server liegt es nicht**, und das ist gemessen: `manifest.plist`, `App.ipa` und +beide Symbole antworten mit HTTP 200 - auch unter der Kennung `itunesstored/1.0`, +also der des iOS-Installationsdienstes selbst; kein Cloudflare-Zwischenschirm, keine +Umleitung, und die gelieferte `.ipa` ist mit der lokalen byteweise identisch +(`f67eaecc3bde…`). Die `manifest.plist` ist wohlgeformt und traegt alle vier +Pflichtangaben. + +**Die Ursache steckt im Link**, und sie stammt aus dem Cache-Brecher vom selben Tag +(Abschnitt CD). `ios-luftweg.sh` haengte das `?v=` **auch an die Manifest-Adresse +innerhalb des `itms-services`-Links**: + +``` +itms-services://?action=download-manifest&url=https://…/manifest.plist?v=2026.9.4.17 +``` + +Damit steht in der Abfrage des `itms-services`-Links ein zweites `?` und ein zweites +`=`. Wer den Wert von `url` streng an jedem `=` trennt, bekommt +`https://…/manifest.plist?v` - eine Adresse, die es nicht gibt. Der Abruf scheitert, +und **weil iOS die Rueckfrage erst aus dem geladenen Manifest baut (Titel, Symbol), +erscheint dann gar nichts** - genau das gemeldete Verhalten. + +Der Cache-Brecher gehoert ohnehin nur an die Dateien, die iOS zwischenspeichert - +also an `.ipa` und Symbole **innerhalb** des Manifests; dort bleibt er. Die +Manifest-Adresse selbst braucht ihn nicht: die Datei ist 1,3 KB gross und aendert +ihren Inhalt mit jeder Auslieferung. + +Korrigiert an beiden Stellen in `ios-luftweg.sh` (Seite und ausgegebener Link) und in +der bereits ausgelieferten `auslieferung/index.html`. Der gueltige Link lautet: + +``` +itms-services://?action=download-manifest&url=https://gitea.nothaft.cloud/paul/audi-app/raw/branch/main/companion-app/auslieferung/manifest.plist +``` + +**Merkposten:** ein Cache-Brecher an einer Adresse, die selbst als Parameterwert in +einer anderen Adresse steht, muss prozentkodiert werden - oder er gehoert dort nicht +hin. Die frueheren, erfolgreichen Installationen liefen alle ueber die blanke +Manifest-Adresse; der Zusatz kam am 04.09. dazu und ist seither nie durch eine +gelungene Installation gegangen. diff --git a/companion-app/auslieferung/index.html b/companion-app/auslieferung/index.html index b567ba9..ebec23e 100644 --- a/companion-app/auslieferung/index.html +++ b/companion-app/auslieferung/index.html @@ -15,7 +15,7 @@

DataMetric360

Version 2026.9.4.17

- Installieren + Installieren

In Safari oeffnen. Nach dem Antippen fragt iOS einmal nach,
danach erscheint die App auf dem Startbildschirm.

diff --git a/companion-app/scripts/ios-luftweg.sh b/companion-app/scripts/ios-luftweg.sh index 119d566..23bd188 100755 --- a/companion-app/scripts/ios-luftweg.sh +++ b/companion-app/scripts/ios-luftweg.sh @@ -121,7 +121,7 @@ cat > "$ZIEL/index.html" <

DataMetric360

Version $VERSION

- Installieren + Installieren

In Safari oeffnen. Nach dem Antippen fragt iOS einmal nach,
danach erscheint die App auf dem Startbildschirm.

@@ -138,4 +138,4 @@ echo # hier zusaetzlich der fertige Link zum Einfuegen in die Safari-Adresszeile; # der funktioniert unabhaengig davon, ob eine Seite drumherum existiert. echo "Ohne Seite (z. B. aus dem Repository heraus) direkt in Safari einfuegen:" -echo " itms-services://?action=download-manifest&url=$BASIS/manifest.plist?v=$VERSION" +echo " itms-services://?action=download-manifest&url=$BASIS/manifest.plist"