Stand festhalten: Share-Erweiterung baut, es fehlen die drei Portal-Schritte

This commit is contained in:
Paul Nothaft
2026-09-02 14:28:29 +02:00
parent e250b6c5e1
commit 0752b7dc0b
+36
View File
@@ -7843,3 +7843,39 @@ fünf in einer Reihe.
In `Reifen.tsx` stand ein reines `<Bild>`; das Panel hat an derselben Stelle seit jeher
`data-bildklick`. Ersetzen und Löschen waren von dort aus gar nicht erreichbar — jetzt
`BildMitMenue`.
---
## AK. Share extension: first Mac run, one script bug fixed, build blocked on the Apple portal (2026-09-02)
`scripts/ios-teilen-einrichten.mjs` ran on a Mac for the first time (it was written without macOS
access, and `docs/SHARE_EXTENSION.md` said so). **Almost all of it worked on the first attempt**
target creation, entitlements on both targets, the `datametric360://` URL scheme, and the idempotence
guard. Exactly one defect, since fixed: the extension was embedded **twice**, because
`addTarget(..., "app_extension", ...)` already creates a PlugIns copy phase on the first target and
the script added a second one. Xcode refuses that with `error: Unexpected duplicate tasks` (two
`ValidateEmbeddedBinary` notes on the same `.appex`). Removing the explicit `addBuildPhase` call
fixed it; verified on the regenerated project — one `dstSubfolderSpec = 13` phase instead of two.
**The build is now blocked on three one-time portal steps only the owner can do**, exactly as
`docs/SHARE_EXTENSION.md` predicted. This is the only error left:
```
Provisioning profile "iOS Team Provisioning Profile: app.datametric360.teilen" doesn't match
the entitlements file's value for the com.apple.security.application-groups entitlement.
```
Apple auto-created the App ID for the extension, but its profile carries no app-group entitlement
because the group does not exist in the portal yet. Needed: App Group `group.app.datametric360`; App
ID `app.datametric360.teilen` with the App Groups capability pointing at it; and the same capability
on the existing `app.datametric360`. No code change substitutes for this — an entitlement is only
valid if the profile grants it. Afterwards delete the cached `.mobileprovision` files (the script's
"Alte Bereitstellungsprofile wegraeumen" step already does) or the stale ones get reused, per
section AI.
**Consequence to keep visible: the shipped app is now behind the repo.**
`companion-app/auslieferung/App.ipa` still carries **2026.8.30.8**; the repo is at **2026.9.2.7**. The
app's version comparison against `sensor.audi_dashboard_app_version` will surface that rather than
fail silently — the mechanism working as designed — but until the portal steps happen, 44 commits'
worth of work (Standort/geocoding, consumption calibration, trip-detection rework, the Sheet
component, the share sheet itself) is built and tested but **not on the phone**.