Skip to content

Make the build App Store-ready#1

Merged
EitaroY merged 1 commit into
mainfrom
app-store-ready
Jul 13, 2026
Merged

Make the build App Store-ready#1
EitaroY merged 1 commit into
mainfrom
app-store-ready

Conversation

@EitaroY

@EitaroY EitaroY commented Jul 13, 2026

Copy link
Copy Markdown
Owner
  • Enable App Sandbox for every build (ENABLE_APP_SANDBOX). Window control keeps working because macOS allows sandboxed apps to use the Accessibility API once the user grants permission — the same configuration as the established window managers on the store. Keeping local builds sandboxed too means the OSS build and the store build behave identically.
  • Add PrivacyInfo.xcprivacy: no tracking, no data collection, UserDefaults declared with reason CA92.1.
  • Set ITSAppUsesNonExemptEncryption=NO so uploads skip the export compliance question, and bump MARKETING_VERSION to 1.0.
  • install.sh: preserve entitlements when re-signing with the stable certificate — a plain codesign --force would silently strip the sandbox and diverge from the store build.
  • docs/APPSTORE.ja.md: full release runbook (ASC setup, app record, pricing, store listing drafts in JA/EN, keywords, review notes template, pre-submission checklist). Update DESIGN.ja.md §7/§11 and BUILDING.md for the sandbox change.

Verified: swift test passes, sandboxed Release build launches and creates its container, entitlements and Info.plist keys confirmed in the built bundle, xcodebuild archive succeeds.

What & why

Checklist

  • swift test passes
  • The app builds and runs (⌘R)
  • Ran the relevant items of the manual smoke-test checklist if Windowing/ or Input/ changed
  • Updated the docs (README.md / README.ja.md / docs/DESIGN.ja.md) if behavior or architecture changed
  • No new third-party dependencies

- Enable App Sandbox for every build (ENABLE_APP_SANDBOX). Window
  control keeps working because macOS allows sandboxed apps to use the
  Accessibility API once the user grants permission — the same
  configuration as the established window managers on the store.
  Keeping local builds sandboxed too means the OSS build and the store
  build behave identically.
- Add PrivacyInfo.xcprivacy: no tracking, no data collection,
  UserDefaults declared with reason CA92.1.
- Set ITSAppUsesNonExemptEncryption=NO so uploads skip the export
  compliance question, and bump MARKETING_VERSION to 1.0.
- install.sh: preserve entitlements when re-signing with the stable
  certificate — a plain codesign --force would silently strip the
  sandbox and diverge from the store build.
- docs/APPSTORE.ja.md: full release runbook (ASC setup, app record,
  pricing, store listing drafts in JA/EN, keywords, review notes
  template, pre-submission checklist). Update DESIGN.ja.md §7/§11 and
  BUILDING.md for the sandbox change.

Verified: swift test passes, sandboxed Release build launches and
creates its container, entitlements and Info.plist keys confirmed in
the built bundle, xcodebuild archive succeeds.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@EitaroY
EitaroY merged commit e68d0f2 into main Jul 13, 2026
1 check passed
@EitaroY
EitaroY deleted the app-store-ready branch July 13, 2026 14:52
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