From 2c03650e67b121b30267a1377719c9a8e24b01d5 Mon Sep 17 00:00:00 2001 From: Ariver <shanghai3168@gmail.com> Date: Sat, 20 Jun 2026 00:52:40 +0800 Subject: [PATCH] Record 7.9.4 App Store release pack --- src/Release/AppStore-7.9.4-20260619.2221/APP_STORE_RELEASE_CHECKLIST.md | 72 ++++++++ src/Release/AppStore-7.9.4-20260619.2221/QA_RELEASE_EVIDENCE.md | 86 +++++++++ src/Release/AppStore-7.9.4-20260619.2221/Upload/TagLauncher-7.9.4-build20260619.2221.pkg | 0 src/Release/AppStore-7.9.4-20260619.2221/RELEASE_MANIFEST.md | 91 ++++++++++ src/Release/AppStore-7.9.4-20260619.2221/README.md | 30 +++ src/Release/AppStore-7.9.4-20260619.2221/APP_STORE_CONNECT_METADATA.md | 117 +++++++++++++ src/Release/AppStore-7.9.4-20260619.2221/Archive/TagLauncher-7.9.4-build20260619.2221.dmg | 0 src/Release/AppStore-7.9.4-20260619.2221/SHA256SUMS.txt | 2 src/Release/AppStore-7.9.4-20260619.2221/PKG_PREFLIGHT_REPORT.md | 61 ++++++ src/Release/AppStore-7.9.4-20260619.2221/APP_REVIEW_NOTES.md | 39 ++++ 10 files changed, 498 insertions(+), 0 deletions(-) diff --git a/src/Release/AppStore-7.9.4-20260619.2221/APP_REVIEW_NOTES.md b/src/Release/AppStore-7.9.4-20260619.2221/APP_REVIEW_NOTES.md new file mode 100644 index 0000000..2fcdf3a --- /dev/null +++ b/src/Release/AppStore-7.9.4-20260619.2221/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.4 build 20260619.2221 fixes Apple built-in app default note localization. Existing historical default notes are migrated so each selected app language shows its own localized built-in app notes instead of stale Chinese initialization text. The migration is limited to known Apple default notes and keeps user-written notes protected. 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.4 build 20260619.2221 修复 Apple 自带应用默认备注的多语种本地化问题。历史默认备注会迁移为当前所选 App 语言对应的备注,避免非中文语种下仍显示旧中文初始化内容。迁移只覆盖已知 Apple 默认备注,用户手写备注会被保护。本应用不收集用户数据,不包含分析、广告、追踪、账号或云同步。 + +如果 Dock 图标被隐藏,菜单栏图标仍可使用。Dock 显示设置可在 Settings > General 中调整。 diff --git a/src/Release/AppStore-7.9.4-20260619.2221/APP_STORE_CONNECT_METADATA.md b/src/Release/AppStore-7.9.4-20260619.2221/APP_STORE_CONNECT_METADATA.md new file mode 100644 index 0000000..0aa1576 --- /dev/null +++ b/src/Release/AppStore-7.9.4-20260619.2221/APP_STORE_CONNECT_METADATA.md @@ -0,0 +1,117 @@ +# App Store Connect Metadata Draft + +Generated: 2026-06-20 + +## App Information + +- Name: `TagLauncher` +- Bundle ID: `com.taglauncher.app` +- SKU: `taglauncher-macos` +- Category: `Utilities` +- Version: `7.9.4` +- Build: `20260619.2221` +- 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 + +- English: `Tag-based app launcher` +- Simplified Chinese: `基于标签的应用启动器` + +## What's New + +### English + +Version 7.9.4 build 20260619.2221 fixes localized notes for Apple built-in apps. Historical default notes now migrate safely so each selected app language shows its own built-in app descriptions instead of stale Chinese initialization text. + +This build also keeps the existing 7.9 App Grid improvements, including visible empty tag groups, manual app ordering, usage tips that can be hidden in Settings, Quick Search, and local layout import/export. + +### Simplified Chinese + +版本 7.9.4 build 20260619.2221 修复 Apple 自带应用备注的多语种本地化问题。历史默认备注会安全迁移为当前所选 App 语言对应的描述,避免非中文语种下仍显示旧中文初始化内容。 + +本 build 继续保留 7.9 系列 App Grid 改进,包括空标签显示、应用手动排序、可在设置中关闭的使用技巧、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. + +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: + +`TagLauncher,tag-based app launcher,tags,apps,organizer,notes,backup,hotkey,search,utility` + +Simplified Chinese: + +`TagLauncher,基于标签的应用启动器,标签,应用整理,应用排序,备注,备份,快捷键,搜索,效率` + +## 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` + +## Missing Compliance + +If App Store Connect shows `Missing Compliance`, answer the export compliance encryption question according to the current implementation: `None of the algorithms mentioned above`. diff --git a/src/Release/AppStore-7.9.4-20260619.2221/APP_STORE_RELEASE_CHECKLIST.md b/src/Release/AppStore-7.9.4-20260619.2221/APP_STORE_RELEASE_CHECKLIST.md new file mode 100644 index 0000000..75a20ae --- /dev/null +++ b/src/Release/AppStore-7.9.4-20260619.2221/APP_STORE_RELEASE_CHECKLIST.md @@ -0,0 +1,72 @@ +# App Store Release Checklist + +Version: `7.9.4` + +Build: `20260619.2221` + +Submission type: new App Store build for version `7.9.4`. + +## Before Upload + +- [x] Source commit frozen: `39e759d015af5d82f387b57a8d137bdeb844d430` +- [x] Release tag created: `v7.9.4-build20260619.2221` +- [x] Release directory created under `src/Release/AppStore-7.9.4-20260619.2221` +- [x] Marketing version set to `7.9.4` +- [x] Build set to `20260619.2221` +- [x] `CHANGELOG.md` includes 7.9.4 +- [x] DMG generated and verified for local rollback only +- [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] AppleDouble `._*` files absent from expanded package +- [x] SHA256 recorded +- [x] ASC metadata draft scanned for SOP forbidden words + +## Upload With Transporter + +1. Open Transporter for macOS. +2. Add this package: + +```text +/Users/ar/Projects/Taglauncher/src/Release/AppStore-7.9.4-20260619.2221/Upload/TagLauncher-7.9.4-build20260619.2221.pkg +``` + +3. Deliver the package. +4. Wait for App Store Connect processing to finish. +5. In App Store Connect, open the TagLauncher macOS version `7.9.4` page. +6. Select build `20260619.2221`. +7. If `Missing Compliance` appears, complete the export compliance question and choose `None of the algorithms mentioned above`. +8. Fill metadata from `APP_STORE_CONNECT_METADATA.md`. +9. Fill review notes from `APP_REVIEW_NOTES.md`. +10. Check both Simplified Chinese and English metadata for forbidden trademark-risk phrases. +11. Add for Review. +12. Submit for Review. +13. Confirm the final status is Waiting for Review / 正在等待审核. + +## Do Not Upload + +- Do not upload `Archive/TagLauncher-7.9.4-build20260619.2221.dmg`. +- Do not upload any temporary package under `/private/tmp` or `/var/folders`. +- Do not leave an older build selected on the App Store Connect version page. + +## SOP Forbidden Metadata Terms + +The prepared metadata must not include: + +- `Launchpad` +- `LaunchPad` +- `启动台` +- `Spotlight 替代` +- `Launchpad 替代` +- `超越原生 LaunchPad` +- Finder / Dock / Spotlight comparison marketing claims + +## After Upload + +- Record Transporter upload result. +- Record App Store Connect processing result. +- Record whether Missing Compliance appeared and how it was answered. +- 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.4-20260619.2221/Archive/TagLauncher-7.9.4-build20260619.2221.dmg b/src/Release/AppStore-7.9.4-20260619.2221/Archive/TagLauncher-7.9.4-build20260619.2221.dmg new file mode 100644 index 0000000..907d189 --- /dev/null +++ b/src/Release/AppStore-7.9.4-20260619.2221/Archive/TagLauncher-7.9.4-build20260619.2221.dmg Binary files differ diff --git a/src/Release/AppStore-7.9.4-20260619.2221/PKG_PREFLIGHT_REPORT.md b/src/Release/AppStore-7.9.4-20260619.2221/PKG_PREFLIGHT_REPORT.md new file mode 100644 index 0000000..1767ebf --- /dev/null +++ b/src/Release/AppStore-7.9.4-20260619.2221/PKG_PREFLIGHT_REPORT.md @@ -0,0 +1,61 @@ +# TagLauncher 7.9.4 App Store `.pkg` Preflight Report + +Generated: 2026-06-20 00:46 CST + +Upload package: + +`Release/AppStore-7.9.4-20260619.2221/Upload/TagLauncher-7.9.4-build20260619.2221.pkg` + +SHA256: + +`b99c7f51fd4afe24ce1d76dd3bfdf8d767c974d95ac2b1d8cc8f6ba70ba35e12` + +## Build Inputs + +| Item | Value | +| --- | --- | +| Version | `7.9.4` | +| Build | `20260619.2221` | +| 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 13:48:21 CST` | + +## Verification + +| Check | Result | +| --- | --- | +| `.pkg` file generated | PASS | +| `.pkg` Installer certificate signature | PASS | +| Expanded final `.pkg` and found `TagLauncher.app` | PASS | +| Bundle ID | PASS: `com.taglauncher.app` | +| `CFBundleShortVersionString` | PASS: `7.9.4` | +| `CFBundleVersion` | PASS: `20260619.2221` | +| `LSMinimumSystemVersion` | PASS: `14.0` | +| `LSApplicationCategoryType` | PASS: `public.app-category.utilities` | +| Embedded `embedded.provisionprofile` | PASS | +| Profile application identifier | PASS: `CR3J54M8BQ.com.taglauncher.app` | +| Profile Team ID | PASS: `CR3J54M8BQ` | +| Signed application identifier | PASS: `CR3J54M8BQ.com.taglauncher.app` | +| Signed Team ID | PASS: `CR3J54M8BQ` | +| Signed sandbox entitlement | PASS | +| Signed user-selected file read/write entitlement | PASS | +| Signed keychain access group | PASS: `CR3J54M8BQ.*` | +| Expanded package quarantine xattr | PASS: `0` | +| Package payload AppleDouble entries | PASS: `0` | +| Executable architecture | PASS: `arm64` | + +## Notes + +- `productbuild` printed four `write: Permission denied` lines on this machine, then returned success and wrote the signed package. The final package passed signature, expansion, codesign, entitlement, profile, architecture, xattr, and AppleDouble preflight checks. + +## Next Upload Step + +Use Transporter and select: + +`/Users/ar/Projects/Taglauncher/src/Release/AppStore-7.9.4-20260619.2221/Upload/TagLauncher-7.9.4-build20260619.2221.pkg` diff --git a/src/Release/AppStore-7.9.4-20260619.2221/QA_RELEASE_EVIDENCE.md b/src/Release/AppStore-7.9.4-20260619.2221/QA_RELEASE_EVIDENCE.md new file mode 100644 index 0000000..fbcd9cf --- /dev/null +++ b/src/Release/AppStore-7.9.4-20260619.2221/QA_RELEASE_EVIDENCE.md @@ -0,0 +1,86 @@ +# QA Evidence - TagLauncher 7.9.4 build 20260619.2221 + +## Target + +- Version: `7.9.4` +- Build: `20260619.2221` +- Source commit: `39e759d015af5d82f387b57a8d137bdeb844d430` +- Release tag: `v7.9.4-build20260619.2221` +- DMG: `Archive/TagLauncher-7.9.4-build20260619.2221.dmg` +- PKG: `Upload/TagLauncher-7.9.4-build20260619.2221.pkg` + +## Automated QA + +| Check | Result | +| --- | --- | +| `git diff --check -- ...` for 7.9.4 changed source/docs | PASS | +| `Scripts/apple_default_apps_resource_qa.sh` | PASS | +| `Scripts/apple_default_note_migration_qa.sh` | PASS | +| `Scripts/apple_default_note_policy_qa.sh` | PASS | +| `Scripts/usage_tips_qa.sh` | PASS | +| `Scripts/smartstart_catalog_resource_qa.sh` | PASS | +| `Scripts/app_ordering_data_qa.sh` | PASS | +| `Scripts/quick_search_system_app_qa.sh` | PASS | +| `Scripts/quick_search_app_name_qa.sh` | SKIP: Sunlogin wrapper app not installed on this Mac | +| `Scripts/macos14_availability_typecheck_qa.sh` | PASS | +| `Scripts/macos14_build_metadata_qa.sh` | PASS after rebuilding `build/TagLauncher.app` | + +## 7.9.4 Regression Focus + +| Check | Result | +| --- | --- | +| Apple built-in app resources cover 90 apps and 29 languages | PASS | +| No runtime Apple default localization JSON leaks into bundle uncompressed | PASS | +| Historical no-metadata Chinese default notes migrate to localized notes | PASS | +| User-written notes stay protected | PASS | +| Cross-language note contamination guard added for Apple default notes | PASS | +| SmartStart notes remain separated from Apple default notes | PASS | + +## Package Verification + +| Check | Result | +| --- | --- | +| `APP_BUILD=20260619.2221 bash build.sh` | PASS | +| `codesign --verify --deep --strict --verbose=2 build/TagLauncher.app` | PASS | +| `bash make_dmg.sh` | PASS | +| `hdiutil verify build/TagLauncher.dmg` | PASS | +| Built app version/build | PASS: `7.9.4 / 20260619.2221` | +| App Store `.pkg` generated | PASS | +| `.pkg` Installer certificate signature | PASS | +| Expanded `.pkg` contains `TagLauncher.app` | PASS | +| Bundle ID | PASS: `com.taglauncher.app` | +| `CFBundleShortVersionString` | PASS: `7.9.4` | +| `CFBundleVersion` | PASS: `20260619.2221` | +| Minimum macOS | PASS: `14.0` | +| Category | PASS: `public.app-category.utilities` | +| Embedded provisioning profile | PASS | +| 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` | + +## ASC SOP Checks + +| Check | Result | +| --- | --- | +| Upload artifact is `.pkg`, not `.dmg` | PASS | +| Local rollback artifact is `.dmg` in `Archive/` | PASS | +| Version/build consistent across Info.plist, file names, manifest, QA, review notes, and metadata | PASS | +| Metadata avoids `Launchpad`, `LaunchPad`, `启动台`, and replacement/comparison wording | PASS | +| Review notes include local-only privacy statement and test path | PASS | +| Missing Compliance handling documented | PASS | + +## Hashes + +- DMG SHA256: `e610544edcaf174dbade4a0313a6b372fc3d71b862613be9a9da651d737dd463` +- PKG SHA256: `b99c7f51fd4afe24ce1d76dd3bfdf8d767c974d95ac2b1d8cc8f6ba70ba35e12` +- App binary SHA256: `a405b31389f4810b8ec07fdb3c1c8c0144010171c147f5e58bfc65363b9e450c` + +## Notes + +- The package is arm64-only, consistent with the current build pipeline. +- The DMG is only for local rollback and smoke testing. App Store Connect upload must use the `.pkg` under `Upload/`. diff --git a/src/Release/AppStore-7.9.4-20260619.2221/README.md b/src/Release/AppStore-7.9.4-20260619.2221/README.md new file mode 100644 index 0000000..87ecf44 --- /dev/null +++ b/src/Release/AppStore-7.9.4-20260619.2221/README.md @@ -0,0 +1,30 @@ +# TagLauncher 7.9.4 App Store Release Pack + +This directory freezes TagLauncher `7.9.4` build `20260619.2221` for App Store upload. + +## Upload Package + +Upload this file with Transporter: + +```text +/Users/ar/Projects/Taglauncher/src/Release/AppStore-7.9.4-20260619.2221/Upload/TagLauncher-7.9.4-build20260619.2221.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.4-build20260619.2221.pkg` +- Local archive DMG: `Archive/TagLauncher-7.9.4-build20260619.2221.dmg` +- Source commit: `39e759d015af5d82f387b57a8d137bdeb844d430` +- Release tag: `v7.9.4-build20260619.2221` + +## Files + +- `APP_STORE_CONNECT_METADATA.md`: App Store Connect fields and copy. +- `APP_STORE_RELEASE_CHECKLIST.md`: upload checklist based on the ASC submission SOP. +- `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. +- `SHA256SUMS.txt`: hashes for release artifacts. diff --git a/src/Release/AppStore-7.9.4-20260619.2221/RELEASE_MANIFEST.md b/src/Release/AppStore-7.9.4-20260619.2221/RELEASE_MANIFEST.md new file mode 100644 index 0000000..7ef98f0 --- /dev/null +++ b/src/Release/AppStore-7.9.4-20260619.2221/RELEASE_MANIFEST.md @@ -0,0 +1,91 @@ +# Release Manifest - TagLauncher 7.9.4 build 20260619.2221 + +## Identity + +- Product: TagLauncher +- Version: `7.9.4` +- Build: `20260619.2221` +- Bundle ID: `com.taglauncher.app` +- Minimum macOS: `14.0` +- Category: `public.app-category.utilities` +- Generated at: `2026-06-20 00:46 CST` +- Branch: `codex/appgrid-usage-tips` +- Source commit: `39e759d015af5d82f387b57a8d137bdeb844d430` +- Release tag: `v7.9.4-build20260619.2221` + +## Artifacts + +- Local archive DMG: `Release/AppStore-7.9.4-20260619.2221/Archive/TagLauncher-7.9.4-build20260619.2221.dmg` +- App Store upload pkg: `Release/AppStore-7.9.4-20260619.2221/Upload/TagLauncher-7.9.4-build20260619.2221.pkg` +- DMG SHA256: `e610544edcaf174dbade4a0313a6b372fc3d71b862613be9a9da651d737dd463` +- PKG SHA256: `b99c7f51fd4afe24ce1d76dd3bfdf8d767c974d95ac2b1d8cc8f6ba70ba35e12` +- App binary SHA256: `a405b31389f4810b8ec07fdb3c1c8c0144010171c147f5e58bfc65363b9e450c` +- DMG size: `6045915` bytes +- PKG size: `5857045` bytes + +## Build Commands + +```bash +cd /Users/ar/Projects/Taglauncher/src +APP_BUILD=20260619.2221 bash build.sh +bash make_dmg.sh +cp build/TagLauncher.dmg Release/AppStore-7.9.4-20260619.2221/Archive/TagLauncher-7.9.4-build20260619.2221.dmg +``` + +## App Store Package Commands + +```bash +cd /Users/ar/Projects/Taglauncher/src + +# Create a temporary full entitlement file containing: +# - com.apple.application-identifier = CR3J54M8BQ.com.taglauncher.app +# - com.apple.developer.team-identifier = CR3J54M8BQ +# - com.apple.security.app-sandbox = true +# - com.apple.security.files.user-selected.read-write = true +# - keychain-access-groups = [CR3J54M8BQ.*] + +codesign --force --deep --options runtime \ + --sign 0D7D5484FDE4EC1CA2C9225F1E71E65A256A1E7C \ + --entitlements /tmp/.../TagLauncher-AppStore-full.entitlements \ + /tmp/.../stage/TagLauncher.app + +productbuild \ + --component /tmp/.../stage/TagLauncher.app /Applications \ + --sign "3rd Party Mac Developer Installer: Hainan Wanxing Technology Co., Ltd. (CR3J54M8BQ)" \ + build/AppStore/TagLauncher-7.9.4-build20260619.2221.pkg +``` + +Before signing, the staging app embedded `TagLauncher Mac App Store 20260605.2337` and ran `xattr -cr` to remove quarantine attributes from the app bundle. + +## Verification Commands + +```bash +git diff --check -- src/Apptag/Info.plist src/CHANGELOG.md src/Apptag/AppleDefaultAppCatalog.swift src/Scripts/apple_default_apps_resource_qa.sh src/Scripts/apple_default_note_migration_qa.sh src/Scripts/apple_default_note_policy_qa.sh +bash Scripts/apple_default_apps_resource_qa.sh +bash Scripts/apple_default_note_migration_qa.sh +bash Scripts/apple_default_note_policy_qa.sh +bash Scripts/usage_tips_qa.sh +bash Scripts/smartstart_catalog_resource_qa.sh +bash Scripts/app_ordering_data_qa.sh +bash Scripts/quick_search_system_app_qa.sh +bash Scripts/macos14_availability_typecheck_qa.sh +bash Scripts/macos14_build_metadata_qa.sh +codesign --verify --deep --strict --verbose=2 build/TagLauncher.app +hdiutil verify Release/AppStore-7.9.4-20260619.2221/Archive/TagLauncher-7.9.4-build20260619.2221.dmg +pkgutil --check-signature Release/AppStore-7.9.4-20260619.2221/Upload/TagLauncher-7.9.4-build20260619.2221.pkg +pkgutil --expand-full Release/AppStore-7.9.4-20260619.2221/Upload/TagLauncher-7.9.4-build20260619.2221.pkg /tmp/.../expanded +codesign --verify --deep --strict --verbose=2 /tmp/.../expanded/com.taglauncher.app.pkg/Payload/TagLauncher.app +``` + +## Release Scope + +- Fixes Apple built-in app default note localization for users with historical no-metadata default notes. +- Adds QA coverage so Apple default notes in each language cannot contain another language's body text. +- Keeps user-written notes protected. +- Keeps the 7.9 App Grid features: empty tag visibility, blank-space tag removal, native usage tips HUD, tips settings toggle, and manual app ordering. + +## 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 `20260619.2221` for version `7.9.4`. +- If `Missing Compliance` appears, complete the encryption question with `None of the algorithms mentioned above`. diff --git a/src/Release/AppStore-7.9.4-20260619.2221/SHA256SUMS.txt b/src/Release/AppStore-7.9.4-20260619.2221/SHA256SUMS.txt new file mode 100644 index 0000000..09473b2 --- /dev/null +++ b/src/Release/AppStore-7.9.4-20260619.2221/SHA256SUMS.txt @@ -0,0 +1,2 @@ +e610544edcaf174dbade4a0313a6b372fc3d71b862613be9a9da651d737dd463 Archive/TagLauncher-7.9.4-build20260619.2221.dmg +b99c7f51fd4afe24ce1d76dd3bfdf8d767c974d95ac2b1d8cc8f6ba70ba35e12 Upload/TagLauncher-7.9.4-build20260619.2221.pkg diff --git a/src/Release/AppStore-7.9.4-20260619.2221/Upload/TagLauncher-7.9.4-build20260619.2221.pkg b/src/Release/AppStore-7.9.4-20260619.2221/Upload/TagLauncher-7.9.4-build20260619.2221.pkg new file mode 100644 index 0000000..9c9ab22 --- /dev/null +++ b/src/Release/AppStore-7.9.4-20260619.2221/Upload/TagLauncher-7.9.4-build20260619.2221.pkg Binary files differ -- Gitblit v1.9.3