Skip to content

Add native iOS app with offline privacy policy and available collections - #57

Merged
darrinm merged 2 commits into
mainfrom
codex/ios-build4
Sep 19, 2026
Merged

darrinm merged 2 commits into
mainfrom
codex/ios-build4

Conversation

@darrinm

@darrinm darrinm commented Sep 19, 2026

Copy link
Copy Markdown
Owner

Summary

Adds an iPhone/iPad app that bundles the shared game for offline local play, with native sharing, invite entry, and online room transport. Version 1.0 build 4 also removes an empty ball collection and makes the privacy policy available offline.

  • Add the UIKit/WebKit shell, loopback asset server, restricted native network bridge, and background/foreground handling.
  • Prepare the audio graph and decode bundled samples in the background so first playback reuses prepared sounds.
  • Hide Heads whenever the build has no head textures; saved Heads preferences fall back to Classic and keyboard cycling skips the unavailable collection.
  • Bundle the published privacy page unchanged and open it from Settings in a dismissible local sheet that preserves the current game.
  • Include the Xcode project, build/export instructions, privacy manifest, app icon, and App Store listing assets.

Validation

  • All 361 JavaScript tests passed.
  • All 3 native tests passed on iPhone 17 / iOS 26.5, covering bundled game/physics-worker startup, sound preparation, the collection picker, local privacy-page navigation, return to the existing game, lifecycle behavior, invite validation, and asset traversal rejection.
  • Signed Release archive succeeded. Verified build number 4, the bundled privacy page and local Settings link, and the absence of private head textures.
  • Version 1.0 build 4 uploaded successfully to App Store Connect; confirmed it appeared in TestFlight as Processing on September 19, 2026.
  • Source tag: ios-v1.0-build4 (77bdddf).

Manual device touch/audio checks and longer play sessions remain listed in the iOS distribution guide. This PR does not submit the app for App Review.

@darrinm
darrinm merged commit 32d5468 into main Sep 19, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant