Ariver
2026-06-04 cb0259e3176109d437be4ff941016fe7eb37022c
Release/PrivateVoice-Dictation-2.1.28-build20260604.0049/APP_STORE_CONNECT_SUBMISSION.md
@@ -3,7 +3,7 @@
## Build
- App: 私语输入法 / PrivateVoice Dictation
- Bundle ID: `com.privatevoice.input`
- Bundle ID: `com.shanghai3168.privatevoicedictation`
- Version: `2.1.28`
- Build: `20260604.0049`
- Platform: macOS
@@ -19,12 +19,14 @@
- Upload tool: `xcrun altool 26.10.1`
- App Store sandbox entitlements file: `privatevoice.src/build/darwin/entitlements-appstore.plist`
- Mac App Store package script: `privatevoice.src/scripts/build-macappstore-pkg-macos.sh`
- Local blocker: this machine does not currently have Apple App Store distribution or installer identities installed.
- Apple App Store app and installer signing identities are installed.
- Mac App Store provisioning profile is installed for `com.shanghai3168.privatevoicedictation`.
- Local upload blocker remaining: App Store Connect upload credentials or an active Transporter session.
## Required Apple Account Items
1. App Store Connect app record for bundle ID `com.privatevoice.input`.
2. Mac App Store provisioning profile for `com.privatevoice.input`.
1. App Store Connect app record for bundle ID `com.shanghai3168.privatevoicedictation`.
2. Mac App Store provisioning profile for `com.shanghai3168.privatevoicedictation`.
3. App signing certificate installed in Keychain:
   - `Apple Distribution: <Team> (<TeamID>)`, or
   - legacy `3rd Party Mac Developer Application: <Team> (<TeamID>)`.
@@ -34,32 +36,21 @@
## Build Upload Package
After the Apple certificates and provisioning profile are installed:
```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 package path:
Current signed upload package:
```text
/Users/ar/Projects/PrivateVoice/privatevoice.src/build/macappstore/arm64/PrivateVoice-Dictation-2.1.28-build20260604.0049-arm64-macappstore.pkg
/Users/ar/Projects/PrivateVoice/privatevoice.src/build/macappstore/x86_64/PrivateVoice-Dictation-2.1.28-build20260604.0049-x86_64-macappstore.pkg
/Users/ar/Projects/PrivateVoice/Release/PrivateVoice-Dictation-2.1.28-build20260604.0049/PrivateVoice-Dictation-2.1.28-build20260604.0049-universal-macappstore.pkg
/Users/ar/Desktop/PrivateVoice-26.0604上架/02-上传包/PrivateVoice-Dictation-2.1.28-build20260604.0049-universal-macappstore.pkg
```
For Intel Mac coverage, run the same command with `x86_64` after Apple signing assets are installed. If App Store Connect requires a single upload covering both CPU families, build a universal package from the same frozen source commit instead of uploading only the arm64 package.
The package contains universal `arm64` and `x86_64` binaries for the app executable, `libsherpa-onnx-c-api.dylib`, and `libonnxruntime.1.24.4.dylib`.
Validate before upload:
```bash
pkgutil --check-signature "/Users/ar/Projects/PrivateVoice/privatevoice.src/build/macappstore/arm64/PrivateVoice-Dictation-2.1.28-build20260604.0049-arm64-macappstore.pkg"
pkgutil --check-signature "/Users/ar/Projects/PrivateVoice/Release/PrivateVoice-Dictation-2.1.28-build20260604.0049/PrivateVoice-Dictation-2.1.28-build20260604.0049-universal-macappstore.pkg"
xcrun altool --validate-app \
  -f "/Users/ar/Projects/PrivateVoice/privatevoice.src/build/macappstore/arm64/PrivateVoice-Dictation-2.1.28-build20260604.0049-arm64-macappstore.pkg" \
  -f "/Users/ar/Projects/PrivateVoice/Release/PrivateVoice-Dictation-2.1.28-build20260604.0049/PrivateVoice-Dictation-2.1.28-build20260604.0049-universal-macappstore.pkg" \
  -t macos \
  -u "<apple-id>" \
  -p "<app-specific-password>"
@@ -69,7 +60,7 @@
```bash
xcrun altool --upload-app \
  -f "/Users/ar/Projects/PrivateVoice/privatevoice.src/build/macappstore/arm64/PrivateVoice-Dictation-2.1.28-build20260604.0049-arm64-macappstore.pkg" \
  -f "/Users/ar/Projects/PrivateVoice/Release/PrivateVoice-Dictation-2.1.28-build20260604.0049/PrivateVoice-Dictation-2.1.28-build20260604.0049-universal-macappstore.pkg" \
  -t macos \
  -u "<apple-id>" \
  -p "<app-specific-password>"