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.