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 <[email protected]>
An der fertigen .ipa gegengelesen: Version in Bundle und Webbuendel,
Kalender-Plugin registriert, Kamera- und Kalenderberechtigung vorhanden,
Erweiterung mit echtem arm64-Programm, Signatur gueltig.
Vorher: design-system neu gebaut, Typecheck sauber, 225/225 Tests gruen.
Der Erweiterung fehlte CFBundleVersion - eine Pflichtangabe, ohne die iOS
die Installation der ganzen App verweigert ("kann nicht installiert werden").
Verursacht von der Versionsangleichung vom Vortag: das Skript reichte den
Platzhalter $(CURRENT_PROJECT_VERSION) statt einer Zahl weiter, und das per
Skript angelegte Ziel der Erweiterung kennt diese Build-Einstellung nicht.
An den entpackten .ipa nachgemessen, 2026.9.3.3 gegen 2026.9.4.5.
ios-signieren.sh reicht nur noch echte Zahlen weiter, das Gegenlesen der
fertigen .ipa bricht ab statt zu warnen, und abgelegt wird erst danach -
eine Datei, die die Pruefung nicht besteht, darf nicht in auslieferung/
landen.
Dazu:
- Kopfmarke statt Firmierung des Betreibers in der Tankstellen-Zeile
- dritter Suchbegriff: der Name ohne fuehrende Marke. Gemessen: Nominatim
findet "Shell, Pascalstr. 8, Ingolstadt" nicht, "Pascalstr. 8, Ingolstadt"
schon - daran blieb die Belegkarte der realen Instanz leer
- der Tankstellen-Verweis zeigt die Tankstelle, statt eine Route zu rechnen
- Cache-Brecher auf .ipa, Symbolen und manifest.plist
- QR-Scanner fuer den Zugangs-Token bei der Ersteinrichtung (jsQR statt
GoogleMLKit, damit der Xcode-Lauf kein pod install riskiert)
214/214 Tests, Panel als Modul geparst, live gegen audi_ha_test geprueft.
An der fertigen .ipa gegengelesen: Version in Bundle und Webbuendel,
Erweiterung mit echtem arm64-Programm, beide Plugins im Programm, App-Gruppe
auf beiden Seiten, Signatur gueltig.
Vorher: design-system neu gebaut (neue Slider-Komponente), Typecheck sauber,
200/200 Tests gruen.
An der fertigen .ipa geprueft:
- beide neuen Plugins im Programm nachweisbar (BelegZwischenablage,
KalenderTermin)
- Kalender-Berechtigung in beiden Fassungen in der Info.plist
- Erweiterung mit echtem arm64-Programm, App-Gruppe auf beiden Seiten
- Signatur gueltig, Version 2026.9.3.3 einkompiliert
Vorher: design-system neu gebaut, Typecheck sauber, 173/173 Tests gruen.
Erste .ipa, die die Share-Erweiterung wirklich enthaelt. An der fertigen
Datei geprueft statt am Projekt:
- DataMetric360Share.appex traegt ein echtes Mach-O arm64 Programm
- App und Erweiterung tragen beide group.app.datametric360
- URL-Schema datametric360 eingetragen
- Ad-hoc-Profil mit beiden Geraeten, gueltig bis 29.08.2027
- Signatur gueltig, Erweiterung eingeschlossen
Vorher: design-system neu gebaut, Typecheck sauber, 165/165 Tests gruen.
Neu gebaut und Ad-hoc signiert nach Commit 4a58021. Enthaelt den neuen
TankstellenKarte-Screen und die einkompilierte Version 2026.8.30.8. Profil
weiterhin mit beiden registrierten Geraeten, gueltig bis 29.08.2027.
Vorher geprueft: design-system neu gebaut (dessen Komponenten-CSS hat sich
in dieser Runde stark geaendert), Typecheck sauber, 147/147 Tests gruen.
Neu gebaut und Ad-hoc signiert nach dem Audit-Commit e1ebe6d. Enthaelt den
neuen Standort-Screen und die einkompilierte Version 2026.8.30.2. Profil
weiterhin mit beiden registrierten Geraeten, gueltig bis 29.08.2027.
Vorher geprueft: design-system neu gebaut (dessen CSS hat sich mitgeaendert),
Typecheck sauber, 147/147 Tests gruen.
Beim Antippen eines Feldes auf dem Willkommensbildschirm zoomte iOS die
ganze Seite heran und machte sie verschiebbar. Ursache war nicht eine
fehlende Regel, sondern eine unterlegene: grundlage.css und .dm-eingabe
setzen laengst 16px, aber @audi-dash/ui setzt ".ads-feld input" auf 13.5px -
Klasse plus Typ schlaegt die blosse Klasse. Unterhalb von 16px zoomt iOS
beim Fokus, das ist der ganze Mechanismus.
Behoben mit einem spezifischeren Selektor im App-CSS, gleicher Wert wie
ohnehin beabsichtigt. @audi-dash/ui bleibt unangetastet, wie schon beim
type=date-Fall darunter.
Bewusst nicht genommen: user-scalable=no im Viewport. Das haette das
Symptom in einer Zeile versteckt, nimmt aber allen das Aufziehen - und
dasselbe Buendel wird auch als Web-App aus Home Assistant ausgeliefert.
Phase 10 Schritt 7 ist damit erledigt. auslieferung/App.ipa, 2,4 MB, Ad-hoc
signiert mit "Apple Distribution: Paul Nothaft", Profil gueltig bis
29.08.2027, genau ein eingetragenes Geraet.
Zwei Annahmen von heute frueh waren falsch und sind korrigiert: die bezahlte
Mitgliedschaft stuft das bestehende Team hoch, statt ein neues anzulegen (die
Kennung bleibt RMACS9VLS4), und der Export als Ad-hoc funktioniert einwandfrei.
Neue Falle festgehalten: beim ersten Signieren fragt der Schluesselbund per
Dialog um Erlaubnis. Bleibt der unbeantwortet, haengt xcodebuild wortlos und
endet mit errSecInternalComponent. Die Diagnose steht in AGENTS.md, weil das
Symptom von sich aus nirgendwohin zeigt.
Neu: scripts/ios-luftweg.sh erzeugt manifest.plist, Installationsseite und
Symbole fuer die Uebertragung ueber die Luft. Es verweigert eine Basis-Adresse
ohne https, weil iOS sonst erst auf dem Telefon still scheitert.
Offen bleibt der Host, der die Dateien ausliefert.