Skip to content

[ios] The strap log does not print the bundle identifier, so sideload identity problems cannot be diagnosed from an export #2553

Open

Description

@ryanbr

Summary

The iOS strap log does not print the app's bundle identifier. It is the single most diagnostic fact for any sideload-identity problem, and its absence costs a round trip with the reporter every time.

Why it matters

Surfaced by #2514. NOOP appeared in Apple Health with no icon, listed under Inactive, with the permission toggles unavailable, on an install re-signed through Feather. Health keys every source on its bundle identifier and resolves the icon and active state by matching an installed app with that id, so those three symptoms together mean Health has a source record it cannot match to an installed app.

The .ipa ships unsigned as com.noopapp.noop, and a re-signer can rewrite that. Confirming it therefore comes down to one string, which the export does not carry, so the only route is asking the wearer to read it out of iPhone Storage.

This is not specific to Health. The bundle id also feeds the App Group and the watch companion pairing, both of which fail in confusing ways when a re-signer changes it, and a fork or staging build carries a different id again.

Proposal

Add the bundle identifier to the iOS export header, next to the app version that is already there. One line, read-only, no new permission.

Worth checking whether the App Group id belongs there too, since a mismatch there breaks the widget and the watch in ways that also read as "the app is broken" rather than "the install identity moved".

Not in scope here

#2514 also shows there is no in-app switch for Apple Health writeback. A wearer who cannot reach the toggles in Health has no way to stop writes short of deleting the app. That is a separate change and deserves its own issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions