From ae7f204bc3ae724f4b696033c9c324ae85d49c70 Mon Sep 17 00:00:00 2001 From: Ariver <shanghai3168@gmail.com> Date: Thu, 04 Jun 2026 00:57:09 +0800 Subject: [PATCH] Add Mac App Store freeze records for 2.1.28 --- Release/PrivateVoice-Dictation-2.1.28-build20260604.0049/SHA256SUMS.txt | 1 Release/PrivateVoice-Dictation-2.1.28-build20260604.0049/RELEASE_MANIFEST.md | 103 ++++++++++++++++++++++++++++++++++ 02-P-NBL/freeze/20260604-mac-app-store-release-freeze.md | 58 +++++++++++++++++++ 3 files changed, 162 insertions(+), 0 deletions(-) diff --git a/02-P-NBL/freeze/20260604-mac-app-store-release-freeze.md b/02-P-NBL/freeze/20260604-mac-app-store-release-freeze.md new file mode 100644 index 0000000..b8d5cb1 --- /dev/null +++ b/02-P-NBL/freeze/20260604-mac-app-store-release-freeze.md @@ -0,0 +1,58 @@ +# 2026-06-04 Mac App Store 发布冻结 + +## 冻结结论 + +- 冻结版本: `2.1.28` +- build: `20260604.0049` +- 分支: `codex/privatevoice-freeze-2.1.25` +- 源码冻结 commit: `9d3d275dca8e8dc442eb04434c8bd0fdad79bc04` +- release tag: `v2.1.28-build20260604.0049` +- release 记录目录: `Release/PrivateVoice-Dictation-2.1.28-build20260604.0049/` + +## 已完成 + +- 版本号和 build 编号已同步到 Go 常量、macOS `Info.plist`、Wails 配置、Windows manifest、前端 package 和关于页兜底版本。 +- 已补充 Mac App Store `.pkg` 构建脚本: `privatevoice.src/scripts/build-macappstore-pkg-macos.sh`。 +- 已准备 App Store Connect 元数据草稿、隐私问卷建议、审核备注和上传命令: `Release/PrivateVoice-Dictation-2.1.28-build20260604.0049/APP_STORE_CONNECT_SUBMISSION.md`。 +- 已生成本地 App Store sandbox POC DMG: + `Release/PrivateVoice-Dictation-2.1.28-build20260604.0049/PrivateVoice Dictation-2.1.28-build20260604.0049-arm64-appstore-sandbox-poc.dmg`。 +- SHA256: `fcef2154aab52224f55874ea865d6a08efe71a2d09768d7fbc8858d319a64024`。 + +## 验证 + +- `git diff --check`: PASS +- `bash -n privatevoice.src/scripts/build-macappstore-pkg-macos.sh`: PASS +- `npm run build`: PASS,只有既有 Svelte a11y warning +- `go test ./... -count=1`: PASS +- `./scripts/build-appstore-macos.sh arm64`: PASS +- App Store sandbox POC DMG `hdiutil verify`: PASS +- DMG 挂载内容包含 `.app` 和 `Applications` 链接: PASS +- 包内版本为 `2.1.28 (build 20260604.0049)`: PASS +- 包内包含 `en.lproj` 和 `zh-Hans.lproj` 本地化资源: PASS + +## 等待用户/外部环境 + +当前正在等待用户提供或安装 Apple 发布环境,原因是本机没有 Mac App Store 上传所需的 Apple 分发证书、Installer 证书和 provisioning profile。 + +需要用户完成: + +1. 在 Apple Developer / App Store Connect 中创建或确认 bundle ID `com.privatevoice.input` 的 macOS App 记录。 +2. 安装 App Store app signing identity: + `Apple Distribution: <Team> (<TeamID>)` 或 `3rd Party Mac Developer Application: <Team> (<TeamID>)`。 +3. 安装 Installer signing identity: + `3rd Party Mac Developer Installer: <Team> (<TeamID>)`。 +4. 下载 Mac App Store provisioning profile,并提供本地绝对路径。 +5. 提供 App Store Connect 上传方式:Transporter 登录状态,或 altool 使用的 Apple ID / app-specific password。 + +收到这些信息后,下一步执行: + +```bash +cd /Users/ar/Projects/PrivateVoice/privatevoice.src + +PRIVATEVOICE_APPSTORE_APP_IDENTITY="Apple Distribution: <Team> (<TeamID>)" \ +PRIVATEVOICE_APPSTORE_INSTALLER_IDENTITY="3rd Party Mac Developer Installer: <Team> (<TeamID>)" \ +PRIVATEVOICE_APPSTORE_PROVISIONING_PROFILE="/absolute/path/to/profile.provisionprofile" \ + ./scripts/build-macappstore-pkg-macos.sh arm64 +``` + +然后用 `pkgutil --check-signature`、`xcrun altool --validate-app` 或 Transporter 验证并上传生成的 `.pkg`。 diff --git a/Release/PrivateVoice-Dictation-2.1.28-build20260604.0049/RELEASE_MANIFEST.md b/Release/PrivateVoice-Dictation-2.1.28-build20260604.0049/RELEASE_MANIFEST.md new file mode 100644 index 0000000..5a0bd1e --- /dev/null +++ b/Release/PrivateVoice-Dictation-2.1.28-build20260604.0049/RELEASE_MANIFEST.md @@ -0,0 +1,103 @@ +# Release Manifest: PrivateVoice Dictation 2.1.28 build 20260604.0049 + +## Package Type + +- Type: Mac App Store release freeze / local App Store sandbox POC +- Platform: macOS arm64 +- Signing: local code signing identity for POC only, not Apple App Store distribution signing +- Generated at: 2026-06-03T16:55:36Z +- Operator: Codex + +## Source + +- Repository: `/Users/ar/Projects/PrivateVoice` +- Branch: `codex/privatevoice-freeze-2.1.25` +- Commit: `9d3d275dca8e8dc442eb04434c8bd0fdad79bc04` +- Version: `2.1.28` +- Build: `20260604.0049` +- Tag: `v2.1.28-build20260604.0049` + +## Scope + +- Frozen code for Mac App Store release preparation. +- Updated all app metadata to `2.1.28` and build `20260604.0049`. +- Added Mac App Store `.pkg` build script: + `privatevoice.src/scripts/build-macappstore-pkg-macos.sh`. +- Prepared App Store Connect metadata, privacy label recommendation, review notes, upload commands, and blocker list: + `APP_STORE_CONNECT_SUBMISSION.md`. +- Built and verified a local App Store sandbox POC DMG using the `appstore` Go build tag and App Sandbox entitlements. + +## Build Commands + +```bash +git diff --check +bash -n privatevoice.src/scripts/build-macappstore-pkg-macos.sh +npm run build +go test ./... -count=1 +./privatevoice.src/scripts/build-macappstore-pkg-macos.sh arm64 +./privatevoice.src/scripts/build-appstore-macos.sh arm64 +``` + +## Verification + +- Version metadata scan for `2.1.28` and `20260604.0049`: PASS. +- `git diff --check`: PASS. +- `bash -n privatevoice.src/scripts/build-macappstore-pkg-macos.sh`: PASS. +- `npm run build`: PASS, with existing Svelte a11y warnings in `UpdateDialog.svelte` and `ToggleSwitch.svelte`. +- `go test ./... -count=1`: PASS. +- Mac App Store `.pkg` script preflight: BLOCKED as expected because Apple signing environment variables and certificates are not available locally. +- App Store sandbox POC build script: PASS. +- App Store sandbox POC app `Info.plist` reports `CFBundleShortVersionString=2.1.28`, `CFBundleVersion=20260604.0049`, and `LSMinimumSystemVersion=13.4`: PASS. +- App Store sandbox POC app resources include `en.lproj/InfoPlist.strings` and `zh-Hans.lproj/InfoPlist.strings`: PASS. +- App Store sandbox POC entitlements include App Sandbox, audio input, user-selected read/write files, and network client: PASS. +- App Store sandbox POC app code signature verification in build script: PASS. +- App Store sandbox POC DMG `hdiutil verify`: PASS. +- DMG contents include `PrivateVoice Dictation.app` and `Applications -> /Applications`: PASS. +- Copied release DMG SHA256 verification: PASS. + +## Artifact + +```text +Release/PrivateVoice-Dictation-2.1.28-build20260604.0049/PrivateVoice Dictation-2.1.28-build20260604.0049-arm64-appstore-sandbox-poc.dmg +``` + +SHA256: + +```text +fcef2154aab52224f55874ea865d6a08efe71a2d09768d7fbc8858d319a64024 +``` + +## Mac App Store Upload Blocker + +This machine does not currently have Apple App Store signing assets installed: + +- Missing App Store app signing identity: + `Apple Distribution: <Team> (<TeamID>)` or `3rd Party Mac Developer Application: <Team> (<TeamID>)`. +- Missing installer signing identity: + `3rd Party Mac Developer Installer: <Team> (<TeamID>)`. +- Missing Mac App Store provisioning profile for bundle ID `com.privatevoice.input`. +- Missing App Store Connect upload credentials or Transporter session. + +After those are available, run: + +```bash +cd /Users/ar/Projects/PrivateVoice/privatevoice.src + +PRIVATEVOICE_APPSTORE_APP_IDENTITY="Apple Distribution: <Team> (<TeamID>)" \ +PRIVATEVOICE_APPSTORE_INSTALLER_IDENTITY="3rd Party Mac Developer Installer: <Team> (<TeamID>)" \ +PRIVATEVOICE_APPSTORE_PROVISIONING_PROFILE="/absolute/path/to/profile.provisionprofile" \ + ./scripts/build-macappstore-pkg-macos.sh arm64 +``` + +Expected upload package: + +```text +/Users/ar/Projects/PrivateVoice/privatevoice.src/build/macappstore/arm64/PrivateVoice-Dictation-2.1.28-build20260604.0049-arm64-macappstore.pkg +``` + +## Known Notes + +- The DMG in this folder is a local sandbox POC for QA and review preparation. It is not a Mac App Store upload package. +- The App Store upload artifact must be a signed `.pkg` produced after Apple signing assets are installed. +- Build logs include existing Svelte accessibility warnings in unrelated components. +- Build logs include the existing macOS deployment warning for `libonnxruntime.1.24.4.dylib`, which is built for macOS 14.0 while the App Store sandbox target remains macOS 13.4. diff --git a/Release/PrivateVoice-Dictation-2.1.28-build20260604.0049/SHA256SUMS.txt b/Release/PrivateVoice-Dictation-2.1.28-build20260604.0049/SHA256SUMS.txt new file mode 100644 index 0000000..f4d1443 --- /dev/null +++ b/Release/PrivateVoice-Dictation-2.1.28-build20260604.0049/SHA256SUMS.txt @@ -0,0 +1 @@ +fcef2154aab52224f55874ea865d6a08efe71a2d09768d7fbc8858d319a64024 PrivateVoice Dictation-2.1.28-build20260604.0049-arm64-appstore-sandbox-poc.dmg -- Gitblit v1.9.3