| 02-P-NBL/freeze/20260604-mac-app-store-category-hotfix.md | ●●●●● patch | view | raw | blame | history | |
| Release/PrivateVoice-Dictation-2.1.28-build20260604.2353/APP_STORE_CONNECT_SUBMISSION.md | ●●●●● patch | view | raw | blame | history | |
| Release/PrivateVoice-Dictation-2.1.28-build20260604.2353/RELEASE_MANIFEST.md | ●●●●● patch | view | raw | blame | history | |
| Release/PrivateVoice-Dictation-2.1.28-build20260604.2353/SHA256SUMS.txt | ●●●●● patch | view | raw | blame | history |
02-P-NBL/freeze/20260604-mac-app-store-category-hotfix.md
New file @@ -0,0 +1,35 @@ # 2026-06-04 Mac App Store 分类键修复 ## 结论 - 版本: `2.1.28` - 新 build: `20260604.2353` - 源码 commit: `8a3688f69230d8bad0f74a6494847f472902b6ae` - 修复原因: Transporter validation failed 409, 缺少 `LSApplicationCategoryType`。 - 修复值: `public.app-category.productivity` ## 产物 - `/Users/ar/Desktop/PrivateVoice-26.0604上架/02-上传包/PrivateVoice-Dictation-2.1.28-build20260604.2353-universal-macappstore.pkg` - `/Users/ar/Projects/PrivateVoice/Release/PrivateVoice-Dictation-2.1.28-build20260604.2353/PrivateVoice-Dictation-2.1.28-build20260604.2353-universal-macappstore.pkg` SHA256: ```text dac575491644952a84f9f8365de845f5639c132b3b1ea57f4cee4df49a3e642b PrivateVoice-Dictation-2.1.28-build20260604.2353-universal-macappstore.pkg ``` ## 验证 - `go test ./internal/startup ./internal/model ./internal/modelselection`: PASS - `bash -n privatevoice.src/scripts/build-macappstore-pkg-macos.sh`: PASS - arm64 App Store signed package build: PASS - x86_64 App Store signed package build: PASS - universal app merge and re-sign: PASS - `codesign -vvv --deep --strict` universal app: PASS - `pkgutil --check-signature` universal pkg: PASS - 展开 pkg 后读取 `Info.plist`,`LSApplicationCategoryType=public.app-category.productivity`: PASS ## 上传提示 请在 Transporter 中上传 `20260604.2353` 这个新包,不要再上传 `20260604.0049`。 Release/PrivateVoice-Dictation-2.1.28-build20260604.2353/APP_STORE_CONNECT_SUBMISSION.md
New file @@ -0,0 +1,34 @@ # App Store Connect Submission Prep ## Build - App: 私语输入法 / PrivateVoice Dictation - Bundle ID: `com.shanghai3168.privatevoicedictation` - Version: `2.1.28` - Build: `20260604.2353` - Platform: macOS - Primary category: Productivity - `LSApplicationCategoryType`: `public.app-category.productivity` - Minimum macOS for App Store sandbox build: `13.4` - Support URL: `https://shanghai3168.github.io/privatevoice-dictation-support/support.html` - Privacy Policy URL: `https://shanghai3168.github.io/privatevoice-dictation-support/privacy.html` ## Current Upload Package ```text /Users/ar/Desktop/PrivateVoice-26.0604上架/02-上传包/PrivateVoice-Dictation-2.1.28-build20260604.2353-universal-macappstore.pkg ``` This replaces the failed `20260604.0049` package. The new package contains `LSApplicationCategoryType=public.app-category.productivity` in the bundled app `Info.plist`. ## Validation Evidence - Universal `arm64` + `x86_64` app executable and bundled dylibs: PASS. - App code signature: PASS. - Installer package signature: PASS. - Expanded package `Info.plist` category key: PASS. - SHA256: `dac575491644952a84f9f8365de845f5639c132b3b1ea57f4cee4df49a3e642b`. ## Upload Open Transporter, drag in the package above, and click `Deliver`. Release/PrivateVoice-Dictation-2.1.28-build20260604.2353/RELEASE_MANIFEST.md
New file @@ -0,0 +1,69 @@ # Release Manifest: PrivateVoice Dictation 2.1.28 build 20260604.2353 ## Package Type - Type: Mac App Store signed universal upload package - Platform: macOS universal, `arm64` + `x86_64` - Signing: Apple App Store distribution signing with embedded Mac App Store provisioning profile - Generated at: 2026-06-04T15:57:00Z - Operator: Codex ## Source - Repository: `/Users/ar/Projects/PrivateVoice` - Branch: `codex/privatevoice-freeze-2.1.25` - Commit: `8a3688f69230d8bad0f74a6494847f472902b6ae` - Version: `2.1.28` - Build: `20260604.2353` - Bundle ID: `com.shanghai3168.privatevoicedictation` - App Store category UTI: `public.app-category.productivity` ## Scope - Fixed App Store validation failure 409 caused by missing `LSApplicationCategoryType` in the app `Info.plist`. - Added `LSApplicationCategoryType=public.app-category.productivity`. - Rebuilt the Mac App Store upload package with a new build number. ## Build Commands ```bash git diff --check -- privatevoice.src/build/darwin/Info.plist privatevoice.src/app.go bash -n privatevoice.src/scripts/build-macappstore-pkg-macos.sh go test ./internal/startup ./internal/model ./internal/modelselection ./privatevoice.src/scripts/build-macappstore-pkg-macos.sh arm64 ./privatevoice.src/scripts/build-macappstore-pkg-macos.sh x86_64 ``` The final universal app was assembled from the signed arm64 and x86_64 app bundles with `lipo`, then re-signed and packaged with `productbuild`. ## Verification - `go test ./internal/startup ./internal/model ./internal/modelselection`: 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`. - arm64 Mac App Store package build and signature verification: PASS. - x86_64 Mac App Store package build and signature verification: PASS. - Universal app executable contains `arm64` and `x86_64`: PASS. - Bundled `libsherpa-onnx-c-api.dylib` contains `arm64` and `x86_64`: PASS. - Bundled `libonnxruntime.1.24.4.dylib` contains `arm64` and `x86_64`: PASS. - Universal app `codesign -vvv --deep --strict`: PASS. - Universal package `pkgutil --check-signature`: PASS. - Expanded package app `Info.plist` contains `LSApplicationCategoryType=public.app-category.productivity`: PASS. - Release and desktop package SHA256 match: PASS. ## Artifact ```text Release/PrivateVoice-Dictation-2.1.28-build20260604.2353/PrivateVoice-Dictation-2.1.28-build20260604.2353-universal-macappstore.pkg /Users/ar/Desktop/PrivateVoice-26.0604上架/02-上传包/PrivateVoice-Dictation-2.1.28-build20260604.2353-universal-macappstore.pkg ``` SHA256: ```text dac575491644952a84f9f8365de845f5639c132b3b1ea57f4cee4df49a3e642b PrivateVoice-Dictation-2.1.28-build20260604.2353-universal-macappstore.pkg ``` ## Upload Note Use the `20260604.2353` package for Transporter. Do not upload the previous `20260604.0049` package, because it is missing `LSApplicationCategoryType`. Release/PrivateVoice-Dictation-2.1.28-build20260604.2353/SHA256SUMS.txt
New file @@ -0,0 +1 @@ dac575491644952a84f9f8365de845f5639c132b3b1ea57f4cee4df49a3e642b PrivateVoice-Dictation-2.1.28-build20260604.2353-universal-macappstore.pkg