From 74b3a2f2859560f5a3f853a484269833597fc847 Mon Sep 17 00:00:00 2001 From: Ariver <shanghai3168@gmail.com> Date: Sat, 13 Jun 2026 20:42:17 +0800 Subject: [PATCH] Record 7.9.1 App Store release pack --- src/Release/AppStore-7.9.1-20260613.2020/README.md | 29 +++ src/Release/AppStore-7.9.1-20260613.2020/RELEASE_MANIFEST.md | 81 ++++++++++ src/Release/AppStore-7.9.1-20260613.2020/QA_RELEASE_EVIDENCE.md | 63 +++++++ src/Release/AppStore-7.9.1-20260613.2020/Archive/TagLauncher-7.9.1-build20260613.2020.dmg | 0 src/Release/AppStore-7.9.1-20260613.2020/APP_STORE_RELEASE_CHECKLIST.md | 46 +++++ src/Release/AppStore-7.9.1-20260613.2020/APP_STORE_CONNECT_METADATA.md | 114 ++++++++++++++ src/Release/AppStore-7.9.1-20260613.2020/PKG_PREFLIGHT_REPORT.md | 56 +++++++ src/Release/AppStore-7.9.1-20260613.2020/APP_REVIEW_NOTES.md | 39 ++++ src/Release/AppStore-7.9.1-20260613.2020/Upload/TagLauncher-7.9.1-build20260613.2020.pkg | 0 9 files changed, 428 insertions(+), 0 deletions(-) diff --git a/src/Release/AppStore-7.9.1-20260613.2020/APP_REVIEW_NOTES.md b/src/Release/AppStore-7.9.1-20260613.2020/APP_REVIEW_NOTES.md new file mode 100644 index 0000000..ab3341c --- /dev/null +++ b/src/Release/AppStore-7.9.1-20260613.2020/APP_REVIEW_NOTES.md @@ -0,0 +1,39 @@ +# App Review Notes + +## English + +TagLauncher is a local macOS utility for organizing and launching installed apps by tag. No account or demo login is required. + +How to test: + +1. Launch TagLauncher. +2. Open the App Grid from the menu bar icon or press Option-Shift-Space. +3. Use Quick Search from the grid by pressing Space. +4. Create or use a tag group, then drag an app icon within the same group to change the display order. +5. Create an empty tag in Settings > Tags; the empty tag remains visible in the App Grid with a minimal placeholder container. +6. Drag an app to blank space outside containers to remove that tag assignment. +7. Open Settings > General to hide or show App Grid usage tips. +8. Open Settings > Data to export or import the local category layout. + +Version 7.9.1 improves empty tag visibility, macOS 14 blank-space tag removal behavior, and App Grid usage guidance. The app does not collect user data and does not use analytics, ads, tracking, accounts, or cloud sync. + +If the Dock icon is hidden, the menu bar icon remains available. The Dock visibility setting can be changed in Settings > General. + +## Simplified Chinese + +TagLauncher 是一个本地 macOS 工具,用于按标签整理和启动已安装的应用。不需要账号或演示登录。 + +测试方式: + +1. 启动 TagLauncher。 +2. 点击菜单栏图标打开 App Grid,或按 Option-Shift-Space。 +3. 在 App Grid 中按 Space 打开 Quick Search。 +4. 创建或使用一个标签分组,在同一个分组内拖动应用图标即可调整显示顺序。 +5. 在 Settings > Tags 创建一个空标签;空标签会继续显示在 App Grid 中,并带有最小占位容器。 +6. 把应用拖到容器外空白处,可以移除该标签归属。 +7. 打开 Settings > General,可以关闭或开启 App Grid 底部使用技巧。 +8. 打开 Settings > Data,可以导出或导入本地分类布局。 + +版本 7.9.1 改进空标签显示、macOS 14 下空白处解除标签的行为,以及 App Grid 使用引导。本应用不收集用户数据,不包含分析、广告、追踪、账号或云同步。 + +如果 Dock 图标被隐藏,菜单栏图标仍可使用。Dock 显示设置可在 Settings > General 中调整。 diff --git a/src/Release/AppStore-7.9.1-20260613.2020/APP_STORE_CONNECT_METADATA.md b/src/Release/AppStore-7.9.1-20260613.2020/APP_STORE_CONNECT_METADATA.md new file mode 100644 index 0000000..21cee3a --- /dev/null +++ b/src/Release/AppStore-7.9.1-20260613.2020/APP_STORE_CONNECT_METADATA.md @@ -0,0 +1,114 @@ +# App Store Connect Metadata Draft + +Generated: 2026-06-13 + +## App Information + +- Name: `TagLauncher` +- Bundle ID: `com.taglauncher.app` +- SKU: `taglauncher-macos` +- Category: `Utilities` +- Version: `7.9.1` +- Build: `20260613.2020` +- Minimum macOS: `14.0` + +## URLs + +- Marketing URL: `https://shanghai3168.github.io/taglauncher/index.html` +- Support URL: `https://shanghai3168.github.io/taglauncher/support.html` +- Privacy Policy URL: `https://shanghai3168.github.io/taglauncher/privacy.html` +- Chinese Privacy Policy URL: `https://shanghai3168.github.io/taglauncher/privacy-zh.html` + +## Subtitle Options + +- English: `Tag-based app launcher` +- English: `Beyond Launchpad folders` +- Simplified Chinese: `标签化应用启动器` + +## What's New + +### English + +Version 7.9.1 improves App Grid reliability and first-use guidance. Empty tag groups now stay visible with a minimal placeholder container, dragging an app to blank space outside containers can remove its tag assignment more reliably on macOS 14, and the App Grid includes a native usage tips HUD that can be hidden in Settings. + +This update also keeps the 7.9.0 manual app ordering feature, macOS 14 compatibility, localized Quick Search name fixes, and local-only data model. + +### Simplified Chinese + +版本 7.9.1 改进 App Grid 的稳定性和使用引导。空标签现在会显示最小占位容器,不会像创建失败一样消失;在 macOS 14 上把应用拖到容器外空白处解除标签会更稳定;App Grid 底部新增原生使用技巧提示,并可在设置中关闭。 + +本版本继续保留 7.9.0 的分组内应用手动排序、macOS 14 兼容性、Quick Search 本地化名称修复和本地数据模型。 + +## Description Draft + +### English + +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. +- Reorder apps inside each tag group. +- Tune icon size, tag position, app list style, Dock visibility, and usage tips visibility. +- Import and export your category layout. +- Works across multiple displays and fullscreen Spaces. +- Keeps data local on your Mac, with no account required. + +### Simplified Chinese + +TagLauncher 是一个基于标签的 Mac 应用启动器。 + +你可以把已安装的应用整理成可视化标签分组,用全局快捷键唤出应用网格,也可以通过 Quick Search 直接搜索应用、标签和备注。它适合安装了很多应用、希望更快找到目标应用的人。 + +亮点: + +- 使用 Option-Shift-Space 打开应用网格。 +- 使用 Quick Search 搜索应用、标签和备注。 +- 用自定义标签整理应用。 +- 在同一个标签分组内手动调整应用顺序。 +- 可调整图标大小、标签位置、列表样式、Dock 显示和使用技巧显示。 +- 支持分类布局的导入和导出。 +- 支持多显示器和全屏 Space 场景。 +- 数据保存在本机,无需账号。 + +## Keywords + +English: + +`launcher,launchpad,tags,apps,organizer,notes,backup,hotkey,search,utility,macos` + +Simplified Chinese: + +`启动器,启动台,标签,应用,整理,排序,备忘,备份,快捷键,搜索,效率,工具` + +## Promotional Text + +English: + +`Organize Mac apps by tag, reorder each group by drag, and launch faster with a keyboard-friendly grid and Quick Search.` + +Simplified Chinese: + +`用标签整理 Mac 应用,拖拽调整分组内顺序,再用快捷键和 Quick Search 更快启动应用。` + +## App Privacy Recommended Answers + +- Data collection: `No, this app does not collect data` +- Tracking: `No` +- Analytics: `No` +- Ads: `No` +- Data linked to user: `No` + +Explanation: + +TagLauncher indexes installed apps locally so users can organize and launch them. Tags, notes, preferences, app order, tips visibility, and layout data stay on the user's Mac. The app does not include ads, analytics SDKs, tracking, account registration, or cloud sync in this build. + +## App Review Information + +- Demo account required: `No` +- Contact email: `shanghai3168@gmail.com` +- Review notes: use `APP_REVIEW_NOTES.md` diff --git a/src/Release/AppStore-7.9.1-20260613.2020/APP_STORE_RELEASE_CHECKLIST.md b/src/Release/AppStore-7.9.1-20260613.2020/APP_STORE_RELEASE_CHECKLIST.md new file mode 100644 index 0000000..de2a6e2 --- /dev/null +++ b/src/Release/AppStore-7.9.1-20260613.2020/APP_STORE_RELEASE_CHECKLIST.md @@ -0,0 +1,46 @@ +# App Store Release Checklist + +Version: `7.9.1` + +Build: `20260613.2020` + +## Before Upload + +- [x] Source commit frozen: `ed4ebcfa763f66ecd69cae57df2c949a7a9a8a45` +- [x] Release directory created under `src/Release/AppStore-7.9.1-20260613.2020` +- [x] DMG generated and verified +- [x] App Store `.pkg` generated with Installer certificate +- [x] Final `.pkg` expanded and inspected +- [x] Bundle ID, version, build, category, and minimum macOS verified +- [x] Embedded provisioning profile verified +- [x] Signed entitlements verified +- [x] `com.apple.quarantine` absent from expanded package +- [x] SHA256 recorded +- [x] Release tag created: `v7.9.1-build20260613.2020` + +## Upload With Transporter + +1. Open Transporter for macOS. +2. Add this package: + +```text +/Users/ar/Projects/Taglauncher/src/Release/AppStore-7.9.1-20260613.2020/Upload/TagLauncher-7.9.1-build20260613.2020.pkg +``` + +3. Deliver the package. +4. Wait for App Store Connect processing to finish. +5. In App Store Connect, open the TagLauncher macOS version page. +6. Select build `20260613.2020` for version `7.9.1`. +7. Fill metadata from `APP_STORE_CONNECT_METADATA.md`. +8. Fill review notes from `APP_REVIEW_NOTES.md`. +9. Submit for review. + +## Do Not Upload + +- Do not upload `Archive/TagLauncher-7.9.1-build20260613.2020.dmg`. +- Do not upload any temporary package under `/private/tmp` or `/var/folders`. + +## After Upload + +- Record App Store Connect processing result. +- If Apple rejects the binary, do not reuse the same build number for a new package. Increment `CFBundleVersion` with a new `YYYYMMDD.HHMM` build. diff --git a/src/Release/AppStore-7.9.1-20260613.2020/Archive/TagLauncher-7.9.1-build20260613.2020.dmg b/src/Release/AppStore-7.9.1-20260613.2020/Archive/TagLauncher-7.9.1-build20260613.2020.dmg new file mode 100644 index 0000000..8fee169 --- /dev/null +++ b/src/Release/AppStore-7.9.1-20260613.2020/Archive/TagLauncher-7.9.1-build20260613.2020.dmg Binary files differ diff --git a/src/Release/AppStore-7.9.1-20260613.2020/PKG_PREFLIGHT_REPORT.md b/src/Release/AppStore-7.9.1-20260613.2020/PKG_PREFLIGHT_REPORT.md new file mode 100644 index 0000000..244ecdd --- /dev/null +++ b/src/Release/AppStore-7.9.1-20260613.2020/PKG_PREFLIGHT_REPORT.md @@ -0,0 +1,56 @@ +# TagLauncher 7.9.1 App Store `.pkg` 预检报告 + +生成日期:2026-06-13 + +上传包: + +`Release/AppStore-7.9.1-20260613.2020/Upload/TagLauncher-7.9.1-build20260613.2020.pkg` + +SHA256: + +`945ba900051e162aa06a4ec6a929b919b6e73062d6507a992c0ea5a807543e12` + +## Build Inputs + +| 项目 | 值 | +| --- | --- | +| Version | `7.9.1` | +| Build | `20260613.2020` | +| Bundle ID | `com.taglauncher.app` | +| Team ID | `CR3J54M8BQ` | +| Minimum macOS | `14.0` | +| Category | `public.app-category.utilities` | +| App signing identity | `0D7D5484FDE4EC1CA2C9225F1E71E65A256A1E7C` | +| Installer signing identity | `3rd Party Mac Developer Installer: Hainan Wanxing Technology Co., Ltd. (CR3J54M8BQ)` | +| Provisioning profile | `TagLauncher Mac App Store 20260605.2337` | +| Profile UUID | `da7839d6-2489-4272-b999-c61efccfe473` | +| Profile expiration | `2027-06-04 21:48:21 CST` | + +## Verification + +| 检查项 | 结果 | +| --- | --- | +| `.pkg` 文件生成 | PASS | +| `.pkg` Installer 证书签名 | PASS | +| 展开最终 `.pkg` 并找到 `TagLauncher.app` | PASS | +| Bundle ID | PASS: `com.taglauncher.app` | +| `CFBundleShortVersionString` | PASS: `7.9.1` | +| `CFBundleVersion` | PASS: `20260613.2020` | +| `LSMinimumSystemVersion` | PASS: `14.0` | +| `LSApplicationCategoryType` | PASS: `public.app-category.utilities` | +| 嵌入 `embedded.provisionprofile` | PASS | +| Profile application identifier | PASS: `CR3J54M8BQ.com.taglauncher.app` | +| Signed application identifier | PASS: `CR3J54M8BQ.com.taglauncher.app` | +| Signed team identifier | PASS: `CR3J54M8BQ` | +| Signed sandbox entitlement | PASS | +| Signed user-selected file entitlement | PASS | +| Signed keychain access groups | PASS: `CR3J54M8BQ.*` | +| Expanded package has `com.apple.quarantine` | PASS: `0` | +| Package payload AppleDouble `._*` entries | PASS: `0` | +| Executable architecture | PASS: `arm64` | + +## Next Upload Step + +Use Transporter and select: + +`/Users/ar/Projects/Taglauncher/src/Release/AppStore-7.9.1-20260613.2020/Upload/TagLauncher-7.9.1-build20260613.2020.pkg` diff --git a/src/Release/AppStore-7.9.1-20260613.2020/QA_RELEASE_EVIDENCE.md b/src/Release/AppStore-7.9.1-20260613.2020/QA_RELEASE_EVIDENCE.md new file mode 100644 index 0000000..5079c92 --- /dev/null +++ b/src/Release/AppStore-7.9.1-20260613.2020/QA_RELEASE_EVIDENCE.md @@ -0,0 +1,63 @@ +# QA Evidence - TagLauncher 7.9.1 build 20260613.2020 + +## Target + +- Version: `7.9.1` +- Build: `20260613.2020` +- Source commit: `ed4ebcfa763f66ecd69cae57df2c949a7a9a8a45` +- DMG: `Archive/TagLauncher-7.9.1-build20260613.2020.dmg` +- PKG: `Upload/TagLauncher-7.9.1-build20260613.2020.pkg` + +## Automated QA + +| Check | Result | +| --- | --- | +| `git diff --check` | PASS | +| `Scripts/usage_tips_qa.sh` | PASS | +| `Scripts/app_ordering_data_qa.sh` | PASS | +| `Scripts/macos14_availability_typecheck_qa.sh` | PASS | +| `Scripts/macos14_build_metadata_qa.sh` | PASS | +| `Scripts/quick_search_app_name_qa.sh` | SKIP: Sunlogin wrapper app not installed on this Mac | +| `Scripts/quick_search_system_app_qa.sh` | PASS | +| `Scripts/smartstart_catalog_resource_qa.sh` | PASS | + +## Manual Acceptance + +| Check | Result | +| --- | --- | +| App Grid usage tips paging and click behavior | PASS: user manually accepted | + +## Package Verification + +| Check | Result | +| --- | --- | +| DMG generated | PASS | +| `hdiutil verify` | PASS | +| DMG mount contains `TagLauncher.app` and `Applications` symlink | PASS | +| Built app version/build | PASS: `7.9.1 / 20260613.2020` | +| App Store `.pkg` generated | PASS | +| `.pkg` Installer certificate signature | PASS | +| Expanded `.pkg` contains `TagLauncher.app` | PASS | +| Bundle ID | PASS: `com.taglauncher.app` | +| Minimum macOS | PASS: `14.0` | +| Embedded provisioning profile | PASS | +| Profile application identifier | PASS: `CR3J54M8BQ.com.taglauncher.app` | +| Signed application identifier | PASS: `CR3J54M8BQ.com.taglauncher.app` | +| Signed team identifier | PASS: `CR3J54M8BQ` | +| Sandbox entitlement | PASS | +| User-selected file read/write entitlement | PASS | +| Keychain access group | PASS: `CR3J54M8BQ.*` | +| Expanded package quarantine xattr | PASS: `0` | +| Package payload AppleDouble entries | PASS: `0` | +| Executable architecture | PASS: `arm64` | + +## Hashes + +- DMG SHA256: `04f93fde15d98901d35f1f6963713a1d6b4af604e83ad3f69dcac2c4c50da138` +- PKG SHA256: `945ba900051e162aa06a4ec6a929b919b6e73062d6507a992c0ea5a807543e12` + +## Notes + +- The package is arm64-only, consistent with the current build pipeline. +- `pkgutil --check-signature` reports a valid Apple-issued Installer certificate chain on this machine. +- No extra GUI automation was run after the user's manual acceptance of the latest tips behavior. diff --git a/src/Release/AppStore-7.9.1-20260613.2020/README.md b/src/Release/AppStore-7.9.1-20260613.2020/README.md new file mode 100644 index 0000000..0407643 --- /dev/null +++ b/src/Release/AppStore-7.9.1-20260613.2020/README.md @@ -0,0 +1,29 @@ +# TagLauncher 7.9.1 App Store Release Pack + +This directory freezes TagLauncher `7.9.1` build `20260613.2020` for App Store upload. + +## Upload Package + +Upload this file with Transporter: + +```text +/Users/ar/Projects/Taglauncher/src/Release/AppStore-7.9.1-20260613.2020/Upload/TagLauncher-7.9.1-build20260613.2020.pkg +``` + +Do not upload the DMG in `Archive/`; the DMG is only for local rollback and smoke testing. + +## Artifacts + +- App Store upload pkg: `Upload/TagLauncher-7.9.1-build20260613.2020.pkg` +- Local archive DMG: `Archive/TagLauncher-7.9.1-build20260613.2020.dmg` +- Source commit: `ed4ebcfa763f66ecd69cae57df2c949a7a9a8a45` +- Release tag: `v7.9.1-build20260613.2020` + +## Files + +- `APP_STORE_CONNECT_METADATA.md`: App Store Connect fields and copy. +- `APP_STORE_RELEASE_CHECKLIST.md`: upload checklist. +- `APP_REVIEW_NOTES.md`: review notes for Apple. +- `PKG_PREFLIGHT_REPORT.md`: local package inspection report. +- `QA_RELEASE_EVIDENCE.md`: QA evidence. +- `RELEASE_MANIFEST.md`: reproducible release manifest. diff --git a/src/Release/AppStore-7.9.1-20260613.2020/RELEASE_MANIFEST.md b/src/Release/AppStore-7.9.1-20260613.2020/RELEASE_MANIFEST.md new file mode 100644 index 0000000..50f7794 --- /dev/null +++ b/src/Release/AppStore-7.9.1-20260613.2020/RELEASE_MANIFEST.md @@ -0,0 +1,81 @@ +# Release Manifest - TagLauncher 7.9.1 build 20260613.2020 + +## Identity + +- Product: TagLauncher +- Version: `7.9.1` +- Build: `20260613.2020` +- Bundle ID: `com.taglauncher.app` +- Minimum macOS: `14.0` +- Category: `public.app-category.utilities` +- Generated at: `2026-06-13 20:38 CST` +- Branch: `codex/appgrid-usage-tips` +- Source commit: `ed4ebcfa763f66ecd69cae57df2c949a7a9a8a45` +- Release tag: `v7.9.1-build20260613.2020` + +## Artifacts + +- Local archive DMG: `Release/AppStore-7.9.1-20260613.2020/Archive/TagLauncher-7.9.1-build20260613.2020.dmg` +- App Store upload pkg: `Release/AppStore-7.9.1-20260613.2020/Upload/TagLauncher-7.9.1-build20260613.2020.pkg` +- DMG SHA256: `04f93fde15d98901d35f1f6963713a1d6b4af604e83ad3f69dcac2c4c50da138` +- PKG SHA256: `945ba900051e162aa06a4ec6a929b919b6e73062d6507a992c0ea5a807543e12` +- DMG size: `6094717` bytes +- PKG size: `5896739` bytes + +## Build Commands + +```bash +cd /Users/ar/Projects/Taglauncher/src +APP_BUILD=20260613.2020 bash build.sh +bash make_dmg.sh +mv build/TagLauncher.dmg build/TagLauncher-7.9.1-build20260613.2020.dmg +cp build/TagLauncher-7.9.1-build20260613.2020.dmg Release/AppStore-7.9.1-20260613.2020/Archive/ +``` + +## App Store Package Commands + +```bash +cd /Users/ar/Projects/Taglauncher/src +APP_BUILD=20260613.2020 bash build.sh + +codesign --force --deep --options runtime \ + --sign 0D7D5484FDE4EC1CA2C9225F1E71E65A256A1E7C \ + --entitlements /tmp/taglauncher-appstore-7.9.1.xB404E/TagLauncher-AppStore-full.entitlements \ + /tmp/taglauncher-appstore-7.9.1.xB404E/stage/TagLauncher.app + +productbuild \ + --component /tmp/taglauncher-appstore-7.9.1.xB404E/stage/TagLauncher.app /Applications \ + --sign "3rd Party Mac Developer Installer: Hainan Wanxing Technology Co., Ltd. (CR3J54M8BQ)" \ + build/AppStore/TagLauncher-7.9.1-build20260613.2020.pkg +``` + +Before signing, the staging app embedded `TagLauncher Mac App Store 20260605.2337` and ran `xattr -cr` to remove quarantine attributes from the provisioning profile. + +## Verification Commands + +```bash +git diff --check +bash Scripts/usage_tips_qa.sh +bash Scripts/app_ordering_data_qa.sh +bash Scripts/macos14_availability_typecheck_qa.sh +bash Scripts/macos14_build_metadata_qa.sh +bash Scripts/quick_search_app_name_qa.sh +bash Scripts/quick_search_system_app_qa.sh +bash Scripts/smartstart_catalog_resource_qa.sh +hdiutil verify Release/AppStore-7.9.1-20260613.2020/Archive/TagLauncher-7.9.1-build20260613.2020.dmg +pkgutil --check-signature build/AppStore/TagLauncher-7.9.1-build20260613.2020.pkg +pkgutil --expand-full build/AppStore/TagLauncher-7.9.1-build20260613.2020.pkg /tmp/taglauncher-pkg-preflight-7.9.1-20260613.2020 +``` + +## Release Scope + +- Keeps the 7.9.0 same-container App ordering feature and data schema. +- Fixes empty tag visibility so newly created empty tags appear in the sidebar and App Grid with a minimal placeholder container. +- Fixes dragging an app to the blank area outside containers to remove its tag assignment on macOS 14; blank space inside a container remains non-removal space. +- Adds a native AppKit App Grid usage tips HUD with paging, a settings toggle, non-through-click interaction handling, and 29-language localized copy. +- Refines the tips HUD layout: complete title display, hard line breaks for separator text, dots under the arrow controls, and a fixed right-side control zone. + +## Apple Upload + +- Upload the `.pkg` in `Upload/`, not the `.dmg` in `Archive/`. +- After Transporter upload, wait for App Store Connect processing to finish, then select build `20260613.2020` for version `7.9.1`. diff --git a/src/Release/AppStore-7.9.1-20260613.2020/Upload/TagLauncher-7.9.1-build20260613.2020.pkg b/src/Release/AppStore-7.9.1-20260613.2020/Upload/TagLauncher-7.9.1-build20260613.2020.pkg new file mode 100644 index 0000000..dc1cfc0 --- /dev/null +++ b/src/Release/AppStore-7.9.1-20260613.2020/Upload/TagLauncher-7.9.1-build20260613.2020.pkg Binary files differ -- Gitblit v1.9.3