Stand festhalten: Share-Erweiterung baut, es fehlen die drei Portal-Schritte
This commit is contained in:
@@ -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**.
|
||||
|
||||
Reference in New Issue
Block a user