edit | blame | history | raw

TagLauncher Mac App Store TODO

Baseline: a416923 / qa-passed-7.6.0-20260523

0. Go/No-Go Gate

  • [ ] Decide whether TagLauncher can ship through the Mac App Store or should remain direct-distribution only.
  • [ ] Enable and test App Sandbox; Mac App Store distribution requires sandboxing.
  • [ ] Audit whether these features survive sandboxing:
  • [ ] Global hotkeys.
  • [ ] Scanning installed apps.
  • [ ] Launching selected apps.
  • [ ] Import/export panels.
  • [ ] Login-at-launch behavior.
  • [ ] Window levels over fullscreen Spaces.
  • [ ] Replace LaunchAgent writing with an App Store-safe login item approach if login launch remains required.
  • [ ] Document any temporary sandbox exception entitlement and why review can verify it.

1. Apple Account And App Record

  • [ ] Confirm Apple Developer Program membership is active.
  • [ ] Accept current App Store Connect agreements.
  • [ ] Complete tax and banking setup if the app will be paid.
  • [ ] Create or confirm the App Store Connect app record:
  • [ ] Platform: macOS.
  • [ ] Name: TagLauncher.
  • [ ] Bundle ID: com.taglauncher.app.
  • [ ] SKU: choose a stable internal SKU, for example taglauncher-macos.
  • [ ] Primary language.
  • [ ] User access settings.
  • [ ] Confirm the primary category matches the app bundle category.

2. Build, Signing, And Packaging

  • [ ] Create an App Store signing path instead of the current ad-hoc local build.
  • [ ] Add or generate an Xcode project/scheme if needed for App Store archive workflow.
  • [ ] Add an entitlements file with App Sandbox enabled.
  • [ ] Add only the minimum required sandbox entitlements.
  • [ ] Verify CFBundleShortVersionString is 7.6.0.
  • [ ] Increment CFBundleVersion for every App Store upload attempt.
  • [ ] Ensure the app icon includes App Store-ready sizes, including 1024x1024.
  • [ ] Produce an App Store-signed build using Xcode or an equivalent supported workflow.
  • [ ] Upload through Xcode, Transporter, altool, or App Store Connect API.
  • [ ] Keep the direct-distribution DMG separate from the App Store upload artifact.

3. Privacy, Security, And Compliance

  • [ ] Write and publish a privacy policy URL.
  • [ ] Decide whether a privacy choices URL is needed.
  • [ ] Complete App Store Connect app privacy answers.
  • [ ] Audit local data:
  • [ ] Tags and preferences.
  • [ ] Installed app metadata.
  • [ ] Imported/exported files.
  • [ ] Crash or diagnostics data, if any.
  • [ ] Network calls, if any.
  • [ ] Add PrivacyInfo.xcprivacy if required by the final build setup or SDK usage.
  • [ ] Confirm no undeclared third-party SDKs are bundled.
  • [ ] Confirm encryption export compliance answer.
  • [ ] Prepare user-facing wording for any macOS permissions used by the app.
  • [ ] Confirm no private APIs or review-risky window behavior are used.

4. Product Page Metadata

  • [ ] App name.
  • [ ] Subtitle.
  • [ ] Short promotional text, if applicable.
  • [ ] Full description.
  • [ ] Keywords.
  • [ ] What's New for 7.6.0.
  • [ ] Support URL.
  • [ ] Marketing URL, if available.
  • [ ] Privacy policy URL.
  • [ ] Copyright.
  • [ ] License agreement choice.
  • [ ] Age rating questionnaire.
  • [ ] Content rights declaration.
  • [ ] Price and availability.
  • [ ] App Review contact information.
  • [ ] App Review notes explaining:
  • [ ] Global hotkey behavior.
  • [ ] Fullscreen/multi-display overlay behavior.
  • [ ] How to trigger appgrid and Quick Search.
  • [ ] Any sandbox exception entitlement.

5. Screenshots And Visual Assets

  • [ ] Capture clean macOS screenshots from the locked build.
  • [ ] Include appgrid view.
  • [ ] Include Quick Search view.
  • [ ] Include Settings view.
  • [ ] Include import/export flow if useful.
  • [ ] Prepare localized screenshots only after English/Chinese core metadata is approved.
  • [ ] Verify screenshots meet current App Store Connect specs.
  • [ ] Prepare optional app preview video only if it helps review/marketing.

6. QA For App Store Build

  • [ ] Run Scripts/window_logic_qa.sh against the App Store-signed sandboxed build.
  • [ ] Repeat manual two-real-screen smoke test.
  • [ ] Test fresh install with no existing user defaults.
  • [ ] Test upgrade from the current direct-distribution build.
  • [ ] Test first launch permission prompts.
  • [ ] Test login item behavior.
  • [ ] Test import/export under sandbox.
  • [ ] Test force-quit window remains above TagLauncher.
  • [ ] Verify Dock/menu bar behavior while appgrid is visible.
  • [ ] Verify App Store build has no debug logging or temp files.

7. Submission Flow

  • [ ] Upload build.
  • [ ] Wait for App Store Connect processing.
  • [ ] Resolve upload warnings/errors.
  • [ ] Add processed build to the app version.
  • [ ] Fill every required metadata field.
  • [ ] Attach screenshots.
  • [ ] Complete privacy questionnaire.
  • [ ] Complete sandbox exception usage information, if any.
  • [ ] Add for Review.
  • [ ] Submit for Review.
  • [ ] Track review status and respond to reviewer questions quickly.

8. Release And Archive

  • [ ] Choose manual or automatic release after approval.
  • [ ] Create a final git tag for the submitted build.
  • [ ] Archive the exact submitted artifact, entitlements, provisioning profile notes, and App Store Connect metadata.
  • [ ] Record review feedback and required follow-up fixes.
  • [ ] Keep the direct DMG release path separate from Mac App Store releases.