Apple's ASC API doesn't expose App Group registration cleanly, and the
keychain access group on its own (`$(AppIdentifierPrefix)<bundleId>`)
already gives the share extension and container app a shared store for
the base URL + token. The repo cache moves to per-process UserDefaults —
the extension fetches/caches it on first share if empty.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Two-target Xcode project (xcodegen spec). The GiteaIssue container app
holds the base URL + personal access token in a shared keychain group;
the GiteaIssueShare extension reads them, surfaces a repo picker (with
recents) and a title/notes form, then creates the issue, uploads the
screenshot as an asset, and patches the body to embed it inline.
Min iOS 26.0, signing team V3PF3M6B6U.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>