| New file |
| | |
| | | # 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. |