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 <noreply@anthropic.com>
This commit is contained in:
2026-09-04 14:38:40 +02:00
parent d0a11b82cd
commit 6365136275
3 changed files with 46 additions and 3 deletions
+43
View File
@@ -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.
+1 -1
View File
@@ -15,7 +15,7 @@
<main>
<h1>DataMetric360</h1>
<p>Version 2026.9.4.17</p>
<a href="itms-services://?action=download-manifest&amp;url=https://gitea.nothaft.cloud/paul/audi-app/raw/branch/main/companion-app/auslieferung/manifest.plist?v=2026.9.4.17">Installieren</a>
<a href="itms-services://?action=download-manifest&amp;url=https://gitea.nothaft.cloud/paul/audi-app/raw/branch/main/companion-app/auslieferung/manifest.plist">Installieren</a>
<p>In Safari oeffnen. Nach dem Antippen fragt iOS einmal nach,<br>danach erscheint die App auf dem Startbildschirm.</p>
</main>
</html>
+2 -2
View File
@@ -121,7 +121,7 @@ cat > "$ZIEL/index.html" <<HTMLENDE
<main>
<h1>DataMetric360</h1>
<p>Version $VERSION</p>
<a href="itms-services://?action=download-manifest&amp;url=$BASIS/manifest.plist?v=$VERSION">Installieren</a>
<a href="itms-services://?action=download-manifest&amp;url=$BASIS/manifest.plist">Installieren</a>
<p>In Safari oeffnen. Nach dem Antippen fragt iOS einmal nach,<br>danach erscheint die App auf dem Startbildschirm.</p>
</main>
</html>
@@ -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"