From 0fdcf539329447a3c5e988acde6d18a585c05110 Mon Sep 17 00:00:00 2001 From: Ariver <shanghai3168@gmail.com> Date: Thu, 04 Jun 2026 12:29:44 +0800 Subject: [PATCH] Add 7.8.13 App Store candidate package --- Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/.gitkeep | 0 Release/AppStore-7.8.13-20260604.1121/Screenshots/raw/SCR-20260604-jwic.png | 0 Release/AppStore-7.8.13-20260604.1121/Assets/TagLauncher-AppIcon-1024.png | 0 Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/mac-07-SCR-20260604-jwji-2880x1800.png | 0 Release/AppStore-7.8.13-20260604.1121/Screenshots/raw/SCR-20260604-jwen.png | 0 Release/AppStore-7.8.13-20260604.1121/Archive/TagLauncher-7.8.13-build20260604.1121.dmg | 0 Release/AppStore-7.8.13-20260604.1121/Screenshots/raw/SCR-20260604-jwhd.png | 0 Release/AppStore-7.8.13-20260604.1121/Screenshots/raw/SCR-20260604-jwdv.png | 0 Release/AppStore-7.8.13-20260604.1121/Support/SUPPORT.md | 40 ++ Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/mac-03-SCR-20260604-jwgb-2880x1800.png | 0 Release/AppStore-7.8.13-20260604.1121/QA_RELEASE_EVIDENCE.md | 38 ++ Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/mac-06-SCR-20260604-jwic-2880x1800.png | 0 Release/AppStore-7.8.13-20260604.1121/Screenshots/raw/SCR-20260604-jwgb.png | 0 Release/AppStore-7.8.13-20260604.1121/Upload/.gitkeep | 0 Release/AppStore-7.8.13-20260604.1121/Legal/PRIVACY_POLICY.md | 47 +++ Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/mac-04-SCR-20260604-jwgq-2880x1800.png | 0 Release/AppStore-7.8.13-20260604.1121/BUILD_SIGN_UPLOAD.md | 87 ++++++ Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/mac-05-SCR-20260604-jwhd-2880x1800.png | 0 Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/mac-01-SCR-20260604-jwdv-2880x1800.png | 0 Release/AppStore-7.8.13-20260604.1121/Legal/PRIVACY_POLICY.zh-Hans.md | 47 +++ Release/AppStore-7.8.13-20260604.1121/APP_STORE_ASSET_INVENTORY.md | 50 +++ Release/AppStore-7.8.13-20260604.1121/README.md | 69 ++++ Release/AppStore-7.8.13-20260604.1121/APP_STORE_CONNECT_METADATA.md | 149 ++++++++++ Release/AppStore-7.8.13-20260604.1121/SHA256SUMS.txt | 18 + Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/mac-02-SCR-20260604-jwen-2880x1800.png | 0 Release/AppStore-7.8.13-20260604.1121/Screenshots/raw/SCR-20260604-jwkh.png | 0 Release/AppStore-7.8.13-20260604.1121/RELEASE_MANIFEST.md | 65 ++++ Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/mac-08-SCR-20260604-jwkh-2880x1800.png | 0 Release/AppStore-7.8.13-20260604.1121/Screenshots/SCREENSHOT_SHOT_LIST.md | 36 ++ Release/AppStore-7.8.13-20260604.1121/Submitted/.gitkeep | 0 Release/AppStore-7.8.13-20260604.1121/FIRST_TIME_MAC_APP_STORE_TODO.md | 60 ++++ Release/AppStore-7.8.13-20260604.1121/Review/APP_REVIEW_NOTES.md | 29 ++ Release/AppStore-7.8.13-20260604.1121/Screenshots/raw/SCR-20260604-jwgq.png | 0 Release/AppStore-7.8.13-20260604.1121/APP_STORE_RELEASE_CHECKLIST.md | 69 ++++ Release/AppStore-7.8.13-20260604.1121/Screenshots/raw/SCR-20260604-jwji.png | 0 35 files changed, 804 insertions(+), 0 deletions(-) diff --git a/Release/AppStore-7.8.13-20260604.1121/APP_STORE_ASSET_INVENTORY.md b/Release/AppStore-7.8.13-20260604.1121/APP_STORE_ASSET_INVENTORY.md new file mode 100644 index 0000000..7073fe8 --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/APP_STORE_ASSET_INVENTORY.md @@ -0,0 +1,50 @@ +# App Store Asset Inventory + +## App Icon + +- File: `Assets/TagLauncher-AppIcon-1024.png` +- SHA256: `a4495740d03a9b7517da2cfc6a3f9f5e16e2e33495ad772738493c826004928c` +- Source: `Apptag/Assets.xcassets/AppIcon.appiconset/icon_1024_preview.png` +- Status: prepared + +## Screenshot Requirements Checked + +- Apple allows 1 to 10 screenshots per platform. +- Accepted formats: `.jpeg`, `.jpg`, `.png`. +- Mac screenshots must be 16:10. +- Accepted Mac sizes: `1280 x 800`, `1440 x 900`, `2560 x 1600`, `2880 x 1800`. + +## User Raw Screenshots + +The screenshots provided earlier were preserved unchanged in `Screenshots/raw/`. + +All raw screenshots are `3420 x 2224`, so they are archived as source material rather than direct App Store upload assets. + +- `Screenshots/raw/SCR-20260604-jwdv.png` +- `Screenshots/raw/SCR-20260604-jwen.png` +- `Screenshots/raw/SCR-20260604-jwgb.png` +- `Screenshots/raw/SCR-20260604-jwgq.png` +- `Screenshots/raw/SCR-20260604-jwhd.png` +- `Screenshots/raw/SCR-20260604-jwic.png` +- `Screenshots/raw/SCR-20260604-jwji.png` +- `Screenshots/raw/SCR-20260604-jwkh.png` + +## App Store Screenshot Candidates + +These files were center-cropped from the raw screenshots to 16:10 and exported as `2880 x 1800` PNG files. + +- `Screenshots/AppStore/mac-01-SCR-20260604-jwdv-2880x1800.png` +- `Screenshots/AppStore/mac-02-SCR-20260604-jwen-2880x1800.png` +- `Screenshots/AppStore/mac-03-SCR-20260604-jwgb-2880x1800.png` +- `Screenshots/AppStore/mac-04-SCR-20260604-jwgq-2880x1800.png` +- `Screenshots/AppStore/mac-05-SCR-20260604-jwhd-2880x1800.png` +- `Screenshots/AppStore/mac-06-SCR-20260604-jwic-2880x1800.png` +- `Screenshots/AppStore/mac-07-SCR-20260604-jwji-2880x1800.png` +- `Screenshots/AppStore/mac-08-SCR-20260604-jwkh-2880x1800.png` + +## Final Visual Review Before Upload + +- [ ] Confirm screenshots do not expose private installed apps, account names, documents, messages, or notifications. +- [ ] Confirm cropped screenshot content still shows the intended UI. +- [ ] Pick 3 to 6 strongest screenshots for upload, or upload all 8 if the sequence reads well. +- [ ] Ensure localized screenshots match the selected App Store Connect language. diff --git a/Release/AppStore-7.8.13-20260604.1121/APP_STORE_CONNECT_METADATA.md b/Release/AppStore-7.8.13-20260604.1121/APP_STORE_CONNECT_METADATA.md new file mode 100644 index 0000000..819b94b --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/APP_STORE_CONNECT_METADATA.md @@ -0,0 +1,149 @@ +# App Store Connect Metadata Draft + +这些是 TagLauncher `7.8.13` 的 App Store Connect 填写草稿。提交前请把支持邮箱、隐私政策 URL、支持 URL、版权归属和价格策略替换为真实值。 + +## App Information + +- Name: `TagLauncher` +- Bundle ID: `com.taglauncher.app` +- SKU: `taglauncher-macos` +- Category: `Utilities` +- Version: `7.8.13` +- Minimum macOS: `15.0` +- Primary language: `English (U.S.)` or `Simplified Chinese` +- Distribution method: Public App Store +- Release option: Manual release after approval + +## Subtitle Options + +English, 30 characters max: + +- `Tag-based app launcher` +- `Launch apps by tag` + +Simplified Chinese, 30 characters max: + +- `标签化应用启动器` +- `用标签启动 Mac 应用` + +## Promotional Text Draft + +English: + +Find and launch Mac apps from a tag-based grid or Quick Search, with flexible grouping and fullscreen-friendly window behavior. + +Simplified Chinese: + +用标签网格和 Quick Search 快速找到 Mac 应用,支持自定义分组,并适配多显示器和全屏 Space。 + +## Description Draft + +TagLauncher is a fast tag-based launcher for Mac apps. + +Organize installed apps into visual tag groups, open a fullscreen-friendly app grid from a global hotkey, and jump directly to apps with Quick Search. It is designed for people who have many apps and want a calmer, faster way to find the right one without hunting through Launchpad, Finder, or the Dock. + +Highlights: + +- Open the app grid with Option-Shift-Space. +- Search apps, tags, and notes with Quick Search. +- Group apps by custom tags. +- Tune icon size, tag position, app list style, and Dock visibility. +- Import and export your category layout. +- Works across multiple displays and fullscreen Spaces. + +## Chinese Description Draft + +TagLauncher 是一个基于标签的 Mac 应用启动器。 + +你可以把已安装的应用整理成可视化标签分组,用全局快捷键唤出应用网格,也可以通过 Quick Search 直接搜索应用、标签和备注。它适合安装了很多应用、希望更快找到目标应用的人。 + +亮点: + +- 使用 Option-Shift-Space 打开应用网格。 +- 使用 Quick Search 搜索应用、标签和备注。 +- 用自定义标签整理应用。 +- 可调整图标大小、标签位置、列表样式和 Dock 显示。 +- 支持分类布局的导入和导出。 +- 支持多显示器和全屏 Space 场景。 + +## Keywords Draft + +English: + +`launcher,tags,apps,productivity,quick search,utility,mac` + +Simplified Chinese: + +`启动器,标签,应用,效率,搜索,工具,Mac` + +## What's New + +Version 7.8.13: + +- Fixed an issue where newly installed apps could appear in other launchers but not show up in TagLauncher's App Grid or Quick Search until the app index was refreshed. +- Added a lightweight app-directory signature check when opening App Grid or Quick Search, so app index refreshes only when standard application folders change. +- Improved release QA coverage for Quick Search result discovery and fullscreen window stability. + +中文: + +- 修复新安装应用可能已能被其他启动器搜索到,但 TagLauncher 的 App Grid / Quick Search 仍暂时找不到的问题。 +- 打开 App Grid 或 Quick Search 时增加轻量应用目录签名检查,仅在标准应用目录变化时刷新索引。 +- 补强 Quick Search 结果发现和全屏窗口稳定性的发布 QA。 + +## App Review Notes Draft + +TagLauncher is a macOS utility for organizing installed applications into visual tag groups and launching them from a keyboard-accessible app grid. + +Primary review flow: + +1. Launch TagLauncher. +2. Press `Option-Shift-Space` to show the app grid. +3. Press `Space` while the app grid is visible to open Quick Search. +4. Type part of an installed app name to search. +5. Press `Escape` once to close Quick Search. +6. Press `Escape` again to close the app grid. +7. Open Settings from the menu bar or with `Command-Comma`. + +Expected behavior: + +- The app grid intentionally appears above normal and fullscreen app windows. +- In fullscreen and Split View Spaces, AppGrid, Quick Search, and Settings should remain in the current Space instead of switching to another Space. +- While the app grid is visible, TagLauncher may hide the Dock depending on user settings and shows TagLauncher's menu bar. +- The system Force Quit window remains above TagLauncher. +- Import/export uses standard macOS file panels. +- The app scans installed applications locally to build the launcher index. +- In sandboxed App Store builds, login-at-launch may be disabled if the LaunchAgent approach is unavailable. + +No demo account is required. + +## Privacy Draft + +Current code audit: + +- No background network API usage found. +- App preferences are stored locally with `UserDefaults`. +- Tag/category data is stored locally under the user's Application Support area. +- The app scans installed applications locally to build the launcher index. +- Import/export only touches user-selected files. +- No analytics SDK, advertising SDK, tracking SDK, crash reporting SDK, or third-party tracking SDK is bundled. +- Help/support/release links may open externally in the user's browser only after user action. + +Privacy questionnaire starting point: + +- Data collected: `No`, assuming no analytics/crash reporting/network telemetry is added before submission. +- Tracking: `No`. +- Privacy policy URL: required. Publish `Legal/PRIVACY_POLICY.md` or its final edited version before submission. + +## Screenshot Plan + +Use `Screenshots/AppStore/` for upload candidates. All 8 files are `2880 x 1800` PNG. + +Recommended upload order: + +1. App Grid with tag groups. +2. Quick Search with a sample query. +3. Settings showing appearance/layout controls. +4. Hotkey or Quick Search settings. +5. Optional import/export or tag editing view. + +Avoid screenshots that expose private installed apps, folders, account names, messages, or notifications. diff --git a/Release/AppStore-7.8.13-20260604.1121/APP_STORE_RELEASE_CHECKLIST.md b/Release/AppStore-7.8.13-20260604.1121/APP_STORE_RELEASE_CHECKLIST.md new file mode 100644 index 0000000..0620529 --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/APP_STORE_RELEASE_CHECKLIST.md @@ -0,0 +1,69 @@ +# App Store Release Checklist + +## 本地冻结 + +- [x] 源码版本为 `7.8.13` +- [x] Build 为 `20260604.1121` +- [x] `CHANGELOG.md` 已包含 7.8.13 +- [x] 修复提交已推送到 `origin/codex/fix-quick-search-focus-routing` +- [x] 已重新构建 `.app` +- [x] 已重新生成 7.8.13 DMG +- [x] DMG 已复制到 `Archive/` +- [x] 7.8.12 标记为不再提交 App Store +- [x] 冻结 tag 已创建并推送:`v7.8.13-build20260604.1121` + +## 本地 QA + +- [x] App bundle 签名校验通过 +- [x] DMG `hdiutil verify` 通过 +- [x] DMG 挂载检查通过 +- [x] DMG 内 app 版本/build 正确 +- [x] DMG 内包含 `/Applications` symlink +- [x] Quick Search 新安装应用刷新路径通过 targeted 验证 +- [x] Full window logic QA 通过 +- [x] `SHA256SUMS.txt` 校验通过 +- [x] `git diff --check` 通过 + +## App Store Connect 资料 + +- [x] App 图标 1024 png 已准备:`Assets/TagLauncher-AppIcon-1024.png` +- [x] 用户原始截图已收录:`Screenshots/raw/` +- [x] App Store 尺寸截图已导出:`Screenshots/AppStore/` +- [x] 截图均为 2880 x 1800 PNG +- [x] 英文/中文描述草稿已准备 +- [x] What's New 草稿已准备 +- [x] Review Notes 草稿已准备 +- [x] Privacy Policy 草稿已准备 +- [x] Support 页草稿已准备 + +## 账号侧提交前必须完成 + +- [ ] Apple Developer Program 会员有效 +- [ ] App Store Connect 已创建 app record +- [ ] Bundle ID 使用 `com.taglauncher.app` +- [ ] SKU 使用最终值,例如 `taglauncher-macos` +- [ ] 选择 macOS 平台和 Utilities 类别 +- [ ] 填写支持 URL +- [ ] 发布隐私政策 URL +- [ ] 在 App Privacy 中选择符合当前代码的数据收集声明 +- [ ] 完成 Age Rating 问卷 +- [ ] 完成 Export Compliance 问卷 +- [ ] 完成价格和可用地区 +- [ ] 完成版权、联系信息和审核联系信息 +- [ ] 安装或创建 Mac App Distribution 证书 +- [ ] 安装或创建 Mac Installer Distribution 证书 +- [ ] 创建并下载 `com.taglauncher.app` 的 Mac App Store provisioning profile +- [ ] 用账号证书重新签名并生成上传 `.pkg` +- [ ] 用 Transporter/Xcode/altool 上传构建 +- [ ] 在 App Store Connect 选择 build 并提交审核 + +## 官方要求核对日期 + +核对日期:2026-06-04。 + +- Screenshot specifications: https://developer.apple.com/help/app-store-connect/reference/app-information/screenshot-specifications +- Upload app previews and screenshots: https://developer.apple.com/help/app-store-connect/manage-app-information/upload-app-previews-and-screenshots/ +- Upload builds: https://developer.apple.com/help/app-store-connect/manage-builds/upload-builds/ +- Manage app privacy: https://developer.apple.com/help/app-store-connect/manage-app-information/manage-app-privacy/ +- Certificate overview: https://developer.apple.com/help/account/certificates/certificates-overview/ +- App Store provisioning profile: https://developer.apple.com/help/account/provisioning-profiles/create-an-app-store-provisioning-profile/ diff --git a/Release/AppStore-7.8.13-20260604.1121/Archive/TagLauncher-7.8.13-build20260604.1121.dmg b/Release/AppStore-7.8.13-20260604.1121/Archive/TagLauncher-7.8.13-build20260604.1121.dmg new file mode 100644 index 0000000..5aeaae5 --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/Archive/TagLauncher-7.8.13-build20260604.1121.dmg Binary files differ diff --git a/Release/AppStore-7.8.13-20260604.1121/Assets/TagLauncher-AppIcon-1024.png b/Release/AppStore-7.8.13-20260604.1121/Assets/TagLauncher-AppIcon-1024.png new file mode 100644 index 0000000..5266150 --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/Assets/TagLauncher-AppIcon-1024.png Binary files differ diff --git a/Release/AppStore-7.8.13-20260604.1121/BUILD_SIGN_UPLOAD.md b/Release/AppStore-7.8.13-20260604.1121/BUILD_SIGN_UPLOAD.md new file mode 100644 index 0000000..8ca4a3e --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/BUILD_SIGN_UPLOAD.md @@ -0,0 +1,87 @@ +# Build, Sign, Package, Upload + +## 当前状态 + +本目录内的 DMG 是本地 QA / 可回滚候选包: + +- `Archive/TagLauncher-7.8.13-build20260604.1121.dmg` +- SHA256: `f594509807ca5aa72c6a9fdf118a4f3c9ee991528cd5dbe68587ea5fe601d6f6` + +它不是 App Store Connect 最终上传包。App Store 上传需要 Apple Developer 账号侧证书和 provisioning profile。 + +## 账号侧前置条件 + +- Apple Developer Program 会员有效。 +- App Store Connect 中存在 macOS app record。 +- Bundle ID 是 `com.taglauncher.app`。 +- Keychain 中有 Mac App Distribution 或 Apple Distribution 证书。 +- Keychain 中有 Mac Installer Distribution 证书。 +- 已下载并安装匹配 `com.taglauncher.app` 的 Mac App Store provisioning profile。 + +## 手动签名构建示例 + +把证书名称替换为你 Keychain 中的真实名称: + +```bash +APP_STORE=1 \ +APP_BUILD=20260604.1121 \ +CODESIGN_IDENTITY="Mac App Distribution: YOUR NAME (TEAMID)" \ +zsh ./build.sh +``` + +验证: + +```bash +codesign --verify --deep --strict build/TagLauncher.app +codesign -d --entitlements :- build/TagLauncher.app +/usr/libexec/PlistBuddy -c 'Print :CFBundleShortVersionString' build/TagLauncher.app/Contents/Info.plist +/usr/libexec/PlistBuddy -c 'Print :CFBundleVersion' build/TagLauncher.app/Contents/Info.plist +``` + +## 生成 Mac App Store 上传包 + +示例命令: + +```bash +mkdir -p build/AppStore +productbuild \ + --component build/TagLauncher.app /Applications \ + --sign "Mac Installer Distribution: YOUR NAME (TEAMID)" \ + build/AppStore/TagLauncher-7.8.13-build20260604.1121.pkg +``` + +验证 package 签名: + +```bash +pkgutil --check-signature build/AppStore/TagLauncher-7.8.13-build20260604.1121.pkg +``` + +## 上传方式 + +Apple 当前支持用 Xcode、Swift Playground、altool 或 Transporter 上传构建。对这个项目,推荐先用 Transporter 图形界面上传 `.pkg`,因为它能直接显示交付日志和错误。 + +可选命令行校验和上传: + +```bash +xcrun altool --validate-app \ + -f build/AppStore/TagLauncher-7.8.13-build20260604.1121.pkg \ + -t macos \ + -u APPLE_ID_EMAIL \ + -p APP_SPECIFIC_PASSWORD + +xcrun altool --upload-app \ + -f build/AppStore/TagLauncher-7.8.13-build20260604.1121.pkg \ + -t macos \ + -u APPLE_ID_EMAIL \ + -p APP_SPECIFIC_PASSWORD +``` + +## 上传后检查 + +- App Store Connect 中 build 进入 Processing。 +- Processing 完成后,选择 version `7.8.13` 的 build。 +- 检查没有 Invalid Binary、Missing Entitlement、Bundle ID mismatch、version/build mismatch。 +- 填写 `APP_STORE_CONNECT_METADATA.md` 中的文案。 +- 上传 `Screenshots/AppStore/` 中的截图。 +- 发布隐私政策 URL,并在 App Privacy 中提交问卷。 +- 提交 App Review。 diff --git a/Release/AppStore-7.8.13-20260604.1121/FIRST_TIME_MAC_APP_STORE_TODO.md b/Release/AppStore-7.8.13-20260604.1121/FIRST_TIME_MAC_APP_STORE_TODO.md new file mode 100644 index 0000000..b11183e --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/FIRST_TIME_MAC_APP_STORE_TODO.md @@ -0,0 +1,60 @@ +# First-Time Mac App Store Todo + +## Apple Developer Account + +- [ ] 确认 Apple Developer Program 会员有效。 +- [ ] 确认当前 Apple ID 有 Account Holder/Admin/App Manager 权限。 +- [ ] 确认 Agreements、Tax、Banking 没有阻塞项。 + +## App Record + +- [ ] 在 App Store Connect 创建 macOS app record。 +- [ ] Name: `TagLauncher` +- [ ] Bundle ID: `com.taglauncher.app` +- [ ] SKU: `taglauncher-macos` +- [ ] Primary language: English 或 Simplified Chinese +- [ ] Category: Utilities +- [ ] Minimum macOS: `15.0` + +## Certificates And Profiles + +- [ ] 创建或确认 Mac App Distribution / Apple Distribution 证书。 +- [ ] 创建或确认 Mac Installer Distribution 证书。 +- [ ] 创建 Mac App Store Connect provisioning profile。 +- [ ] Profile 的 App ID 必须匹配 `com.taglauncher.app`。 +- [ ] 把证书私钥和 profile 安装到负责上传的 Mac。 + +## Metadata + +- [ ] 填写 subtitle。 +- [ ] 填写 description。 +- [ ] 填写 keywords。 +- [ ] 填写 what's new。 +- [ ] 填写 support URL。 +- [ ] 填写 marketing URL,如没有可留空。 +- [ ] 填写 copyright。 +- [ ] 选择价格和可用地区。 +- [ ] 完成 Age Rating。 +- [ ] 完成 Export Compliance。 + +## Privacy + +- [ ] 发布隐私政策网页。 +- [ ] 在 App Store Connect 填写隐私政策 URL。 +- [ ] App Privacy 选择当前版本的数据收集情况。 +- [ ] 若代码未来加入 analytics、crash reporting、network telemetry 或第三方 SDK,必须重新审计隐私问卷。 + +## Screenshots + +- [ ] 检查 `Screenshots/AppStore/` 中 8 张 `2880 x 1800` PNG。 +- [ ] 删除任何暴露私人信息的截图。 +- [ ] 上传 1 到 10 张 Mac 截图。 +- [ ] 确认截图顺序能解释核心使用流程。 + +## Build Upload + +- [ ] 按 `BUILD_SIGN_UPLOAD.md` 生成 App Store 签名 `.pkg`。 +- [ ] 用 Transporter 或 Xcode 上传。 +- [ ] 等待 Processing 完成。 +- [ ] 选择 build `20260604.1121`。 +- [ ] 提交审核。 diff --git a/Release/AppStore-7.8.13-20260604.1121/Legal/PRIVACY_POLICY.md b/Release/AppStore-7.8.13-20260604.1121/Legal/PRIVACY_POLICY.md new file mode 100644 index 0000000..a59755b --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/Legal/PRIVACY_POLICY.md @@ -0,0 +1,47 @@ +# TagLauncher Privacy Policy Draft + +Effective date: 2026-06-04 + +This is a draft for App Store submission. Replace contact details and publish it at the final privacy policy URL before submitting the app. + +## Overview + +TagLauncher is a macOS utility for organizing and launching installed applications. The app is designed to work locally on your Mac. + +## Data Collection + +TagLauncher does not collect personal data from users in the current 7.8.13 build. + +The app does not include analytics SDKs, advertising SDKs, tracking SDKs, crash reporting SDKs, or third-party telemetry SDKs in the current 7.8.13 build. + +## Local Data + +TagLauncher stores preferences and launcher configuration locally on your Mac, including: + +- App preferences. +- Tag and category configuration. +- Imported or exported category files selected by the user. + +TagLauncher scans installed applications locally to build its launcher index. This scan is used only to display and search apps on the user's Mac. + +## Network Use + +The current 7.8.13 build does not perform background network API calls. Help, support, or release links may open in the user's browser only after user action. + +## User-Selected Files + +Import and export features use standard macOS file panels. TagLauncher accesses only files selected by the user for those actions. + +## Tracking + +TagLauncher does not track users across apps or websites. + +## Contact + +Support email: REPLACE_WITH_SUPPORT_EMAIL + +Privacy policy URL: REPLACE_WITH_FINAL_PRIVACY_POLICY_URL + +## Changes + +If TagLauncher's data practices change in a future version, this policy and the App Store privacy responses must be updated before release. diff --git a/Release/AppStore-7.8.13-20260604.1121/Legal/PRIVACY_POLICY.zh-Hans.md b/Release/AppStore-7.8.13-20260604.1121/Legal/PRIVACY_POLICY.zh-Hans.md new file mode 100644 index 0000000..cfcc38b --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/Legal/PRIVACY_POLICY.zh-Hans.md @@ -0,0 +1,47 @@ +# TagLauncher 隐私政策草稿 + +生效日期:2026-06-04 + +这是 App Store 提交用草稿。提交前请替换联系方式,并发布到最终隐私政策 URL。 + +## 概览 + +TagLauncher 是一个用于整理和启动已安装应用的 macOS 工具。当前版本设计为在用户的 Mac 本地工作。 + +## 数据收集 + +当前 7.8.13 版本不会收集用户个人数据。 + +当前 7.8.13 版本不包含 analytics SDK、广告 SDK、tracking SDK、崩溃上报 SDK 或第三方遥测 SDK。 + +## 本地数据 + +TagLauncher 会在用户 Mac 本地保存偏好设置和启动器配置,包括: + +- 应用偏好设置。 +- 标签和分类配置。 +- 用户主动选择导入或导出的分类文件。 + +TagLauncher 会在本地扫描已安装应用,用于建立启动器索引。该扫描仅用于在用户 Mac 上展示和搜索应用。 + +## 网络使用 + +当前 7.8.13 版本不会执行后台网络 API 调用。帮助、支持或发布说明链接仅会在用户主动操作后通过浏览器打开。 + +## 用户选择的文件 + +导入和导出功能使用标准 macOS 文件面板。TagLauncher 只会访问用户为这些操作主动选择的文件。 + +## 跟踪 + +TagLauncher 不会跨 App 或网站跟踪用户。 + +## 联系方式 + +支持邮箱:REPLACE_WITH_SUPPORT_EMAIL + +隐私政策 URL:REPLACE_WITH_FINAL_PRIVACY_POLICY_URL + +## 变更 + +如果未来版本的数据实践发生变化,必须在发布前更新本政策和 App Store 隐私问卷。 diff --git a/Release/AppStore-7.8.13-20260604.1121/QA_RELEASE_EVIDENCE.md b/Release/AppStore-7.8.13-20260604.1121/QA_RELEASE_EVIDENCE.md new file mode 100644 index 0000000..694ba74 --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/QA_RELEASE_EVIDENCE.md @@ -0,0 +1,38 @@ +# QA Release Evidence + +## Build Under Test + +- Version: 7.8.13 +- Build: 20260604.1121 +- Source commit: 1d19c0593ebe6abe60468e12e87459ab68586603 +- Artifact: Archive/TagLauncher-7.8.13-build20260604.1121.dmg + +## Completed Checks + +- `APP_BUILD=20260604.1121 zsh ./build.sh`: passed +- `codesign --verify --deep --strict build/TagLauncher.app`: passed +- Built app Info.plist version: `7.8.13` +- Built app Info.plist build: `20260604.1121` +- `zsh ./make_dmg.sh`: passed +- `hdiutil verify build/TagLauncher-7.8.13-build20260604.1121.dmg`: passed +- Mounted DMG contains `TagLauncher.app`: passed +- Mounted DMG contains `Applications -> /Applications`: passed +- Mounted app Info.plist version/build: `7.8.13 / 20260604.1121` +- Mounted app signing verification: passed +- `bash -n Scripts/window_logic_qa.sh`: passed +- `Scripts/window_logic_qa.sh`: passed, final result `ALL WINDOW LOGIC QA PASSED` +- `git diff --cached --check`: passed for the staged 7.8.13 release materials + +## Regression Verified For This Fix + +- Scenario: a new app is installed after TagLauncher has already built its app index. +- Repro app used by user: boringNotch. +- Expected: App Grid and Quick Search detect standard application directory signature changes when opened. +- Expected: Quick Search for `notch` returns `boringNotch` instead of `未找到 App`. +- Observed targeted result before packaging: `FOUND_BORING=true`, `FOUND_NO_RESULTS=false`. + +## Risk Notes + +- The refresh trigger only checks standard application directory signatures. It intentionally avoids a full app scan on every open. +- If an app is installed into a nonstandard directory not covered by the configured search paths, it may still require a manual refresh or future search-path expansion. +- The local DMG is ad-hoc signed for rollback QA. App Store upload requires the account-side signed package described in `BUILD_SIGN_UPLOAD.md`. diff --git a/Release/AppStore-7.8.13-20260604.1121/README.md b/Release/AppStore-7.8.13-20260604.1121/README.md new file mode 100644 index 0000000..b3e3ffb --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/README.md @@ -0,0 +1,69 @@ +# TagLauncher 7.8.13 App Store 候选资料 + +生成时间:2026-06-04 12:15:27 HKT + +## 包信息 + +- 产品:TagLauncher +- 类型:正式可回滚测试包 / App Store 候选资料 +- 版本:7.8.13 +- Build:20260604.1121 +- Bundle ID:com.taglauncher.app +- 最低系统版本:macOS 15.0 +- 源码分支:codex/fix-quick-search-focus-routing +- 源码提交:1d19c0593ebe6abe60468e12e87459ab68586603 +- 冻结 tag:v7.8.13-build20260604.1121 + +## 重要结论 + +- 7.8.12 的 App Store 发布包不应继续提交市场。 +- 7.8.13 是本次重新冻结的候选版本,包含用户可见修复:新安装应用后,App Grid 和 Quick Search 会在打开时轻量检查应用目录签名,并在目录变化时刷新索引。 +- 本目录内 DMG 是本地可回滚候选包,不是 App Store Connect 的最终上传产物。上传 App Store 仍需要 Apple Developer 账号侧签名证书、Mac App Store provisioning profile 和上传包。 + +## 安装包 + +- DMG:Archive/TagLauncher-7.8.13-build20260604.1121.dmg +- SHA256:f594509807ca5aa72c6a9fdf118a4f3c9ee991528cd5dbe68587ea5fe601d6f6 +- 大小:5990963 bytes + +## App Store 资料 + +- 发布清单:APP_STORE_RELEASE_CHECKLIST.md +- 资产清单:APP_STORE_ASSET_INVENTORY.md +- App Store Connect 文案草稿:APP_STORE_CONNECT_METADATA.md +- 签名、打包和上传说明:BUILD_SIGN_UPLOAD.md +- 首次上架账号侧待办:FIRST_TIME_MAC_APP_STORE_TODO.md +- 审核备注:Review/APP_REVIEW_NOTES.md +- 隐私政策草稿:Legal/PRIVACY_POLICY.md、Legal/PRIVACY_POLICY.zh-Hans.md +- 支持页草稿:Support/SUPPORT.md +- 截图计划:Screenshots/SCREENSHOT_SHOT_LIST.md +- App 图标:Assets/TagLauncher-AppIcon-1024.png +- 用户原始截图:Screenshots/raw/ +- App Store 上传候选截图:Screenshots/AppStore/ + +## 本版本变更 + +- App Grid / Quick Search 打开时检查 `/Applications`、`~/Applications`、系统 Applications 等标准应用目录的轻量签名。 +- 目录签名未变化时不刷新索引、不重建界面,避免拖慢每次打开体验。 +- 目录签名变化时后台刷新应用索引,使新安装应用能被 App Grid 和 Quick Search 发现。 +- QA 脚本补强了 Quick Search 搜索结果、全屏 overlay 稳定性、Dock 点击和 hover 轨迹验证。 + +## 官方要求核对 + +- Apple 当前要求 Mac 截图为 16:10,接受 1280 x 800、1440 x 900、2560 x 1600、2880 x 1800,且 Mac app 必须提供截图。 +- App Store Connect 允许每个平台上传 1 到 10 张截图,格式为 `.jpeg`、`.jpg` 或 `.png`。 +- 构建上传可使用 Xcode、Swift Playground、altool 或 Transporter;macOS app 上传也支持 Transporter/altool。 +- macOS App Store 手动签名需要 Apple Developer 账号中的 Mac App Distribution / Mac Installer Distribution 证书,以及匹配 `com.taglauncher.app` 的 Mac App Store provisioning profile。 +- 隐私政策 URL 是所有 App Store app 的必填项,隐私问卷需要准确声明应用和第三方代码的数据实践。 + +## 回滚方式 + +如需回滚到本包对应源码状态: + +```bash +git checkout v7.8.13-build20260604.1121 +APP_BUILD=20260604.1121 zsh ./build.sh +zsh ./make_dmg.sh +``` + +如需直接恢复安装包,使用本目录 `Archive/` 下的 DMG。 diff --git a/Release/AppStore-7.8.13-20260604.1121/RELEASE_MANIFEST.md b/Release/AppStore-7.8.13-20260604.1121/RELEASE_MANIFEST.md new file mode 100644 index 0000000..ba3fcdd --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/RELEASE_MANIFEST.md @@ -0,0 +1,65 @@ +# Release Manifest + +## Identity + +- Product: TagLauncher +- Package kind: formal rollback test package / App Store candidate materials +- Version: 7.8.13 +- Build: 20260604.1121 +- Bundle ID: com.taglauncher.app +- Minimum macOS: 15.0 +- Generated at: 2026-06-04 12:15:27 HKT +- Branch: codex/fix-quick-search-focus-routing +- Source commit: 1d19c0593ebe6abe60468e12e87459ab68586603 +- Release tag: v7.8.13-build20260604.1121 + +## Artifact + +- Build artifact: build/TagLauncher-7.8.13-build20260604.1121.dmg +- Archived artifact: Release/AppStore-7.8.13-20260604.1121/Archive/TagLauncher-7.8.13-build20260604.1121.dmg +- SHA256: f594509807ca5aa72c6a9fdf118a4f3c9ee991528cd5dbe68587ea5fe601d6f6 +- Size: 5990963 bytes + +## Build Commands + +```bash +APP_BUILD=20260604.1121 zsh ./build.sh +zsh ./make_dmg.sh +mv build/TagLauncher.dmg build/TagLauncher-7.8.13-build20260604.1121.dmg +``` + +## Verification Commands + +```bash +/usr/libexec/PlistBuddy -c 'Print :CFBundleShortVersionString' build/TagLauncher.app/Contents/Info.plist +/usr/libexec/PlistBuddy -c 'Print :CFBundleVersion' build/TagLauncher.app/Contents/Info.plist +codesign --verify --deep --strict build/TagLauncher.app +hdiutil verify build/TagLauncher-7.8.13-build20260604.1121.dmg +shasum -a 256 build/TagLauncher-7.8.13-build20260604.1121.dmg +``` + +## Verification Results + +- App version check: passed, returned `7.8.13` +- App build check: passed, returned `20260604.1121` +- Code signing verification: passed +- DMG verification: passed +- DMG mount metadata check: passed +- DMG contains `TagLauncher.app` +- DMG contains `Applications -> /Applications` +- Mounted App version/build matched expected values +- Mounted App code signing verification: passed +- Targeted Quick Search verification: passed, newly installed `boringNotch` was searchable after app directory signature refresh +- Full window logic QA: passed, returned `ALL WINDOW LOGIC QA PASSED` +- SHA256 recorded: `f594509807ca5aa72c6a9fdf118a4f3c9ee991528cd5dbe68587ea5fe601d6f6` + +## Release Scope + +- This release supersedes 7.8.12 for App Store submission. +- This release keeps the refresh path light: if application directory signatures have not changed, opening App Grid / Quick Search does not rebuild the index. +- This release does not change App Grid layout, Settings, import/export, file panels, or window level strategy beyond QA hardening. + +## Rollback Reference + +- Rollback source reference: `v7.8.13-build20260604.1121` +- Rollback artifact reference: `Archive/TagLauncher-7.8.13-build20260604.1121.dmg` diff --git a/Release/AppStore-7.8.13-20260604.1121/Review/APP_REVIEW_NOTES.md b/Release/AppStore-7.8.13-20260604.1121/Review/APP_REVIEW_NOTES.md new file mode 100644 index 0000000..e407afb --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/Review/APP_REVIEW_NOTES.md @@ -0,0 +1,29 @@ +# App Review Notes + +TagLauncher is a macOS utility for organizing installed applications into visual tag groups and launching them from a keyboard-accessible app grid. + +No demo account is required. + +## Review Flow + +1. Launch TagLauncher. +2. Press `Option-Shift-Space` to show the app grid. +3. Press `Space` while the app grid is visible to open Quick Search. +4. Type part of an installed app name to search. +5. Press `Escape` once to close Quick Search. +6. Press `Escape` again to close the app grid. +7. Open Settings from the menu bar or with `Command-Comma`. + +## Expected Behavior + +- The app scans installed applications locally to build the launcher index. +- The app grid intentionally appears above normal and fullscreen app windows. +- In fullscreen and Split View Spaces, AppGrid, Quick Search, and Settings should remain in the current Space instead of switching to another Space. +- While the app grid is visible, TagLauncher may hide the Dock depending on user settings and shows TagLauncher's menu bar. +- The system Force Quit window remains above TagLauncher. +- Import/export uses standard macOS file panels. +- In sandboxed App Store builds, login-at-launch may be disabled if the LaunchAgent approach is unavailable. + +## 7.8.13 Specific Note + +Version 7.8.13 improves discovery of newly installed applications. When App Grid or Quick Search opens, TagLauncher performs a lightweight signature check of standard application folders. If those folders changed, the local app index refreshes; if not, no full rescan is performed. diff --git a/Release/AppStore-7.8.13-20260604.1121/SHA256SUMS.txt b/Release/AppStore-7.8.13-20260604.1121/SHA256SUMS.txt new file mode 100644 index 0000000..56bdc01 --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/SHA256SUMS.txt @@ -0,0 +1,18 @@ +f594509807ca5aa72c6a9fdf118a4f3c9ee991528cd5dbe68587ea5fe601d6f6 Archive/TagLauncher-7.8.13-build20260604.1121.dmg +a4495740d03a9b7517da2cfc6a3f9f5e16e2e33495ad772738493c826004928c Assets/TagLauncher-AppIcon-1024.png +b2aa2f117f0e570a286e6c39183d1a1499801e84cd9b875fe99ba86a74101976 Screenshots/AppStore/mac-01-SCR-20260604-jwdv-2880x1800.png +ecdb40253464a3d5b89bb4c564d9819f7683fc0d4247aba936f647ab9b24b197 Screenshots/AppStore/mac-02-SCR-20260604-jwen-2880x1800.png +42916c8157b5789867b0a6665a3d327c4ca02a89da0d2ff1ceb8345ee0a4c4b8 Screenshots/AppStore/mac-03-SCR-20260604-jwgb-2880x1800.png +473c41872069e8144f61fa06b78ffab596562226ee9d3af0fa072eddec40ba83 Screenshots/AppStore/mac-04-SCR-20260604-jwgq-2880x1800.png +efbd9bf903dc8726fb63f547e47bef5fc68b76845dfaea3015f57f6dd2a9c470 Screenshots/AppStore/mac-05-SCR-20260604-jwhd-2880x1800.png +095208a3a1472a563f4d2c5952fa9b23910d7feb6abf800e38ab0fc72479ddc7 Screenshots/AppStore/mac-06-SCR-20260604-jwic-2880x1800.png +615a8ca6a719c6f465a641caeeeded20f3066885c26bd5dbe033ddf1ede514db Screenshots/AppStore/mac-07-SCR-20260604-jwji-2880x1800.png +e59cd0e4ef61d64db0c4b56faf280b392fc86aa49d4390d3dab8e732003cc7d8 Screenshots/AppStore/mac-08-SCR-20260604-jwkh-2880x1800.png +93252c42fb276662dc5f47afe1a1f08c0e0de86fc49d482196c3da4369a7fceb Screenshots/raw/SCR-20260604-jwdv.png +6f9d4533382f218df85bab51123dcb33865756855c733aa4c2323075fa4d3e79 Screenshots/raw/SCR-20260604-jwen.png +79a80cfe4e8869cde3947cb2cf000fb8fe13d73c2a76ce5da7209c1e254645d5 Screenshots/raw/SCR-20260604-jwgb.png +568a2d5c9048700511c869d0c20003cc4cca20578ed02365ab276da3fcd2b65b Screenshots/raw/SCR-20260604-jwgq.png +41780a10fe8f6ec16bcdacdf164e662e17b29697352dab21fa8ce95d44a4aa3d Screenshots/raw/SCR-20260604-jwhd.png +e87b74e23dce17334b2b14b1e446d3707a70497c300c24cfffc613808bf6c37f Screenshots/raw/SCR-20260604-jwic.png +e9952a1ae03776bfdda295447ff487b8647b12f025af962a18dc141cb298162b Screenshots/raw/SCR-20260604-jwji.png +ad6c1d1ae9bc997f036b220517fd89690c1cbcc9adcd19f4f19c2ba1a93ed0b9 Screenshots/raw/SCR-20260604-jwkh.png diff --git a/Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/.gitkeep b/Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/.gitkeep new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/.gitkeep diff --git a/Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/mac-01-SCR-20260604-jwdv-2880x1800.png b/Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/mac-01-SCR-20260604-jwdv-2880x1800.png new file mode 100644 index 0000000..cce1776 --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/mac-01-SCR-20260604-jwdv-2880x1800.png Binary files differ diff --git a/Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/mac-02-SCR-20260604-jwen-2880x1800.png b/Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/mac-02-SCR-20260604-jwen-2880x1800.png new file mode 100644 index 0000000..dfa585d --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/mac-02-SCR-20260604-jwen-2880x1800.png Binary files differ diff --git a/Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/mac-03-SCR-20260604-jwgb-2880x1800.png b/Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/mac-03-SCR-20260604-jwgb-2880x1800.png new file mode 100644 index 0000000..e7ac50c --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/mac-03-SCR-20260604-jwgb-2880x1800.png Binary files differ diff --git a/Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/mac-04-SCR-20260604-jwgq-2880x1800.png b/Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/mac-04-SCR-20260604-jwgq-2880x1800.png new file mode 100644 index 0000000..7eefd03 --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/mac-04-SCR-20260604-jwgq-2880x1800.png Binary files differ diff --git a/Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/mac-05-SCR-20260604-jwhd-2880x1800.png b/Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/mac-05-SCR-20260604-jwhd-2880x1800.png new file mode 100644 index 0000000..9458988 --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/mac-05-SCR-20260604-jwhd-2880x1800.png Binary files differ diff --git a/Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/mac-06-SCR-20260604-jwic-2880x1800.png b/Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/mac-06-SCR-20260604-jwic-2880x1800.png new file mode 100644 index 0000000..8070a63 --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/mac-06-SCR-20260604-jwic-2880x1800.png Binary files differ diff --git a/Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/mac-07-SCR-20260604-jwji-2880x1800.png b/Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/mac-07-SCR-20260604-jwji-2880x1800.png new file mode 100644 index 0000000..d01d4b4 --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/mac-07-SCR-20260604-jwji-2880x1800.png Binary files differ diff --git a/Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/mac-08-SCR-20260604-jwkh-2880x1800.png b/Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/mac-08-SCR-20260604-jwkh-2880x1800.png new file mode 100644 index 0000000..a14b151 --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/Screenshots/AppStore/mac-08-SCR-20260604-jwkh-2880x1800.png Binary files differ diff --git a/Release/AppStore-7.8.13-20260604.1121/Screenshots/SCREENSHOT_SHOT_LIST.md b/Release/AppStore-7.8.13-20260604.1121/Screenshots/SCREENSHOT_SHOT_LIST.md new file mode 100644 index 0000000..2e3acbe --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/Screenshots/SCREENSHOT_SHOT_LIST.md @@ -0,0 +1,36 @@ +# Screenshot Shot List + +## 已收录资产 + +- 原始截图目录:`Screenshots/raw/` +- 原始截图数量:8 +- 原始截图尺寸:3420 x 2224 +- 上传候选目录:`Screenshots/AppStore/` +- 上传候选数量:8 +- 上传候选尺寸:2880 x 1800 + +## 上传候选文件 + +1. `Screenshots/AppStore/mac-01-SCR-20260604-jwdv-2880x1800.png` +2. `Screenshots/AppStore/mac-02-SCR-20260604-jwen-2880x1800.png` +3. `Screenshots/AppStore/mac-03-SCR-20260604-jwgb-2880x1800.png` +4. `Screenshots/AppStore/mac-04-SCR-20260604-jwgq-2880x1800.png` +5. `Screenshots/AppStore/mac-05-SCR-20260604-jwhd-2880x1800.png` +6. `Screenshots/AppStore/mac-06-SCR-20260604-jwic-2880x1800.png` +7. `Screenshots/AppStore/mac-07-SCR-20260604-jwji-2880x1800.png` +8. `Screenshots/AppStore/mac-08-SCR-20260604-jwkh-2880x1800.png` + +## 建议上传顺序 + +1. App Grid:展示标签分组和应用图标。 +2. Quick Search:展示输入查询和候选结果。 +3. Settings:展示外观或布局设置。 +4. Hotkey / Quick Search 设置:展示可配置性。 +5. Import / Export 或 tag editing:展示高级管理能力。 + +## 上传前检查 + +- [ ] 截图没有暴露私人应用、账号、文件夹、消息或通知。 +- [ ] 裁切后主 UI 没有被截掉。 +- [ ] 截图语言和 App Store Connect 选择的 localization 一致。 +- [ ] 如果只上传部分截图,优先选择最能说明核心价值的 3 到 6 张。 diff --git a/Release/AppStore-7.8.13-20260604.1121/Screenshots/raw/SCR-20260604-jwdv.png b/Release/AppStore-7.8.13-20260604.1121/Screenshots/raw/SCR-20260604-jwdv.png new file mode 100644 index 0000000..07ea6f0 --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/Screenshots/raw/SCR-20260604-jwdv.png Binary files differ diff --git a/Release/AppStore-7.8.13-20260604.1121/Screenshots/raw/SCR-20260604-jwen.png b/Release/AppStore-7.8.13-20260604.1121/Screenshots/raw/SCR-20260604-jwen.png new file mode 100644 index 0000000..2f538ff --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/Screenshots/raw/SCR-20260604-jwen.png Binary files differ diff --git a/Release/AppStore-7.8.13-20260604.1121/Screenshots/raw/SCR-20260604-jwgb.png b/Release/AppStore-7.8.13-20260604.1121/Screenshots/raw/SCR-20260604-jwgb.png new file mode 100644 index 0000000..ea15cc2 --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/Screenshots/raw/SCR-20260604-jwgb.png Binary files differ diff --git a/Release/AppStore-7.8.13-20260604.1121/Screenshots/raw/SCR-20260604-jwgq.png b/Release/AppStore-7.8.13-20260604.1121/Screenshots/raw/SCR-20260604-jwgq.png new file mode 100644 index 0000000..4373e26 --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/Screenshots/raw/SCR-20260604-jwgq.png Binary files differ diff --git a/Release/AppStore-7.8.13-20260604.1121/Screenshots/raw/SCR-20260604-jwhd.png b/Release/AppStore-7.8.13-20260604.1121/Screenshots/raw/SCR-20260604-jwhd.png new file mode 100644 index 0000000..28b2260 --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/Screenshots/raw/SCR-20260604-jwhd.png Binary files differ diff --git a/Release/AppStore-7.8.13-20260604.1121/Screenshots/raw/SCR-20260604-jwic.png b/Release/AppStore-7.8.13-20260604.1121/Screenshots/raw/SCR-20260604-jwic.png new file mode 100644 index 0000000..049de8e --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/Screenshots/raw/SCR-20260604-jwic.png Binary files differ diff --git a/Release/AppStore-7.8.13-20260604.1121/Screenshots/raw/SCR-20260604-jwji.png b/Release/AppStore-7.8.13-20260604.1121/Screenshots/raw/SCR-20260604-jwji.png new file mode 100644 index 0000000..70b97e3 --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/Screenshots/raw/SCR-20260604-jwji.png Binary files differ diff --git a/Release/AppStore-7.8.13-20260604.1121/Screenshots/raw/SCR-20260604-jwkh.png b/Release/AppStore-7.8.13-20260604.1121/Screenshots/raw/SCR-20260604-jwkh.png new file mode 100644 index 0000000..fd61666 --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/Screenshots/raw/SCR-20260604-jwkh.png Binary files differ diff --git a/Release/AppStore-7.8.13-20260604.1121/Submitted/.gitkeep b/Release/AppStore-7.8.13-20260604.1121/Submitted/.gitkeep new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/Submitted/.gitkeep diff --git a/Release/AppStore-7.8.13-20260604.1121/Support/SUPPORT.md b/Release/AppStore-7.8.13-20260604.1121/Support/SUPPORT.md new file mode 100644 index 0000000..932095c --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/Support/SUPPORT.md @@ -0,0 +1,40 @@ +# TagLauncher Support Draft + +This is a draft support page for App Store Connect. Publish it at the final Support URL before submission. + +## Product + +TagLauncher for macOS + +## Current Version + +- Version: 7.8.13 +- Build: 20260604.1121 +- Minimum macOS: 15.0 + +## Getting Started + +1. Launch TagLauncher. +2. Press `Option-Shift-Space` to open the app grid. +3. Press `Space` while the app grid is visible to open Quick Search. +4. Use Settings to customize icon size, tag display, hotkeys, and layout. + +## Troubleshooting + +If a newly installed app does not appear immediately: + +1. Open App Grid or Quick Search again. +2. TagLauncher 7.8.13 checks standard application folder changes when these views open. +3. If the app is installed outside standard application folders, move it to `/Applications` or `~/Applications`. + +If hotkeys do not work: + +1. Check macOS System Settings permissions. +2. Confirm another app is not using the same shortcut. +3. Restart TagLauncher. + +## Contact + +Support email: REPLACE_WITH_SUPPORT_EMAIL + +Privacy policy: REPLACE_WITH_FINAL_PRIVACY_POLICY_URL diff --git a/Release/AppStore-7.8.13-20260604.1121/Upload/.gitkeep b/Release/AppStore-7.8.13-20260604.1121/Upload/.gitkeep new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/Release/AppStore-7.8.13-20260604.1121/Upload/.gitkeep -- Gitblit v1.9.3