Abschluss festhalten: Teilen-Erweiterung laeuft, fuenf Befunde dokumentiert
This commit is contained in:
@@ -7910,5 +7910,34 @@ iOS Team Provisioning Profile: app.datametric360 | groups: []
|
||||
|
||||
The extension's App ID carries the group; the **main** App ID `app.datametric360` does not. Until
|
||||
App Groups is enabled on it in the portal and `group.app.datametric360` assigned, the archive fails
|
||||
with the same entitlement mismatch, now naming target `App` instead of `DataMetric360Share`. The
|
||||
delivered `.ipa` therefore still holds at 2026.8.30.8.
|
||||
with the same entitlement mismatch, now naming target `App` instead of `DataMetric360Share`.
|
||||
|
||||
### Resolved the same day — and two more silent defects on the way
|
||||
|
||||
Owner completed portal step 3; from there the remaining failures were all in the setup script, and
|
||||
**none of them made the archive fail**. Recorded because that is the pattern worth remembering:
|
||||
|
||||
3. **The `.appex` had no executable.** `codesign -d` reporting `Executable=.../Info.plist` gave it
|
||||
away; the bundle held only `Info.plist`, `_CodeSignature` and the profile, while its
|
||||
`CFBundleExecutable` promised a binary. Cause: `addSourceFile(path, opt, group)` in the `xcode`
|
||||
package only files the source into the **group** when a group is passed — it never attaches it to
|
||||
a Sources phase. The `PBXBuildFile` existed but was orphaned and every Sources phase of the target
|
||||
was empty. Fixed by handing the source to `addBuildPhase` directly.
|
||||
4. **Then the path was wrong** — `Build input file cannot be found: ios/App/ShareViewController.swift`.
|
||||
Without a group, Xcode resolves a bare filename against the project root; the file lives in
|
||||
`DataMetric360Share/`. Fixed by passing the project-relative path.
|
||||
5. **Then Swift itself failed** — and only now, because the file had never been compiled before.
|
||||
The German quotation marks in the size-limit message were mixed: opening `„` (U+201E), closing a
|
||||
plain ASCII `"` (U+0022), which ends a Swift string literal mid-sentence. Both sides typographic
|
||||
now.
|
||||
|
||||
**Final artifact, verified on the `.ipa` rather than the project (2026.9.2.7):**
|
||||
`DataMetric360Share.appex` contains a real `Mach-O 64-bit executable arm64`; **both** app and
|
||||
extension carry `group.app.datametric360`; URL scheme `datametric360` present; ad-hoc profile with
|
||||
both devices to 2027-08-29; `codesign --verify --deep --strict` clean. Served from Gitea with a
|
||||
matching SHA-256 and `bundle-version 2026.9.2.7` in the manifest.
|
||||
|
||||
**The rule this whole sequence argues for: for native iOS changes, check the built bundle, never the
|
||||
build result.** Four of the five defects produced either a successful archive or a silent
|
||||
misconfiguration; only unzipping the `.ipa` and reading entitlements, binaries and plists exposed
|
||||
them.
|
||||
|
||||
Reference in New Issue
Block a user