Skip to content

Audit visionOS packaging and App Store requirements #230

@shiny-code-bot

Description

@shiny-code-bot

Finish Line

The repo and release plan explicitly identify what visionOS packaging, App Store Connect, icon, entitlement, profile, and metadata work is required before Context Panel can claim a real visionOS deliverable.

Current Status

Implementation progress on 2026-06-20:

  • The repo can compile the shared companion target for generic/platform=visionOS with signing disabled, but that remains only build scaffolding proof.
  • The first visionOS deliverable decision is recorded in Decide first visionOS companion surface #229: app-first read-only companion, not widget-first.
  • PR Clarify visionOS companion release readiness #232 landed on main at 32d99b32f1743ef9504ac482cb06406a730b5bb3 and corrected release docs so --platform visionos is explicitly gated behind Plan and build visionOS companion surface #168 packaging/product validation. PR checks passed (swift, Analyze Swift, CodeQL).
  • PR Guard visionOS companion release packaging #233 landed on main at e2de04dc0c64032041668df540722efe4a2a51b7 and added the first hard packaging guard: signed/export/upload --platform visionos now fails early unless Resources/Assets.xcassets/AppIcon.solidimagestack/Contents.json exists.
  • The guard does not affect the generic no-sign scripts/validate-companion-builds.sh visionos compile path, and tests prove iOS companion upload/export still proceeds to normal provisioning-profile preflight without requiring the visionOS icon stack.
  • Tests now cover the missing-icon visionOS failure, iOS non-regression, and the visionOS icon-present path continuing to provisioning-profile checks.
  • Release docs now name the layered icon asset path and distinguish compile/simulator evidence from signed Apple Vision Pro/TestFlight validation.
  • Existing upload script/profile checks already require visionOS or xrOS profile platform labels, companion App Group, iCloud Documents, and ubiquity container entitlements. That is the right mechanical shape but still has not been exercised as signed visionOS release evidence.
  • Local environment has Xcode 27.0 with xros27.0, shows the paired Apple Vision Pro as a compatible ContextPanelCompanion destination, and does not currently list an installed visionOS simulator runtime.

Packaging checklist before signed validation (#231):

  • Confirm App Store Connect/platform strategy: native visionOS build versus compatible iPhone/iPad availability on Apple Vision Pro.
  • Create or verify visionOS/xrOS provisioning profiles for both companion app and companion widget bundle IDs with the companion App Group and iCloud Documents container.
  • Add real visionOS-specific layered icon assets at Resources/Assets.xcassets/AppIcon.solidimagestack.
  • Decide whether the embedded companion widget extension ships in the first visionOS pass or remains embedded-but-not-promoted until widget behavior is smoke-tested.
  • Prepare App Store Connect visionOS metadata, including required privacy and motion information, before App Review submission.
  • Keep signed export/device validation in Validate signed visionOS companion build #231 until the above is explicit.

Acceptance Criteria

  • Determine whether existing companion App IDs/profiles are enough for visionOS or whether separate visionOS/xrOS profile setup is required.
  • Identify required icon asset changes for visionOS and whether they should share or separate from the existing iOS/macOS AppIcon set.
  • Identify App Store Connect metadata/privacy/motion-info requirements for a visionOS submission or compatible-app availability.
  • Decide whether the existing upload script/docs need changes before a signed visionOS export canary.
  • Update release docs or Plan and build visionOS companion surface #168 with the exact packaging checklist.

Relationships

Parent: #168

Metadata

Metadata

Assignees

No one assigned

    Labels

    planDurable planning issueplan:activeCurrent active plan

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions