From 211eeed2112bec6bd1301c7a15d1e0deebe78226 Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Sat, 23 May 2026 03:12:37 +0800
Subject: [PATCH] Prepare Mac App Store release checklist

---
 Release/AppStore-7.6.0-a416923/README.md         |   45 +++++++++++++++
 Release/AppStore-7.6.0-a416923/APP_STORE_TODO.md |  130 +++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 175 insertions(+), 0 deletions(-)

diff --git a/Release/AppStore-7.6.0-a416923/APP_STORE_TODO.md b/Release/AppStore-7.6.0-a416923/APP_STORE_TODO.md
new file mode 100644
index 0000000..6dfdf5c
--- /dev/null
+++ b/Release/AppStore-7.6.0-a416923/APP_STORE_TODO.md
@@ -0,0 +1,130 @@
+# 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.
diff --git a/Release/AppStore-7.6.0-a416923/README.md b/Release/AppStore-7.6.0-a416923/README.md
new file mode 100644
index 0000000..f688686
--- /dev/null
+++ b/Release/AppStore-7.6.0-a416923/README.md
@@ -0,0 +1,45 @@
+# TagLauncher App Store Release Prep
+
+This folder is the clean App Store preparation workspace for the locked QA-passed build.
+
+## Locked Baseline
+
+- Branch: `main`
+- Commit: `a416923`
+- Tag: `qa-passed-7.6.0-20260523`
+- App version: `7.6.0`
+- Build: `20260523.0303`
+- QA script: `Scripts/window_logic_qa.sh`
+- QA result: `ALL WINDOW LOGIC QA PASSED`
+
+## Local Artifacts
+
+- App: `/Users/ar/Projects/Taglauncher/build/TagLauncher.app`
+- DMG: `/Users/ar/Projects/Taglauncher/build/TagLauncher.dmg`
+- App size: `7.1M`
+- DMG size: `5.6M`
+- DMG SHA-256: `1bb9a25c911fc167da6e19b8d483bec9082f73ad2aefa73c1ce5efcdb55ad789`
+- Executable SHA-256: `a89f8b3ed4c1ad80202a97f65934f7a5f9e8b5c578e7340bf06d59196e509389`
+
+Note: the current local artifact is ad-hoc signed. App Store submission still needs App Store signing, sandbox entitlements, and an uploadable App Store build.
+
+## Cleanup Done
+
+- Removed old untracked prep material at `Doc/Taglauncher-help`.
+- Started App Store prep from the locked commit above.
+
+## Main Checklist
+
+Use [APP_STORE_TODO.md](APP_STORE_TODO.md) as the working checklist.
+
+## Apple References
+
+- [App Store Connect workflow](https://developer.apple.com/help/app-store-connect/get-started/app-store-connect-workflow/)
+- [Add a new app](https://developer.apple.com/help/app-store-connect/create-an-app-record/add-a-new-app/)
+- [Required, localizable, and editable properties](https://developer.apple.com/help/app-store-connect/reference/required-localizable-and-editable-properties/)
+- [Upload builds](https://developer.apple.com/help/app-store-connect/manage-builds/upload-builds/)
+- [Submit an app](https://developer.apple.com/help/app-store-connect/manage-submissions-to-app-review/submit-an-app/)
+- [App Sandbox](https://developer.apple.com/documentation/security/app-sandbox)
+- [App Sandbox information](https://developer.apple.com/help/app-store-connect/reference/app-uploads/app-sandbox-information/)
+- [App privacy details](https://developer.apple.com/app-store/app-privacy-details/)
+- [Upload app previews and screenshots](https://developer.apple.com/help/app-store-connect/manage-app-information/upload-app-previews-and-screenshots/)

--
Gitblit v1.9.3