本地可回滚 DMG 已完成验证,但它不是 App Store Connect 的最终上传产物。
7.8.1220260604.0105be83948fab7b643634ede2403abdca27e6b45f29v7.8.12-build20260604.0105Archive/TagLauncher-7.8.12-build20260604.0105.dmgf93702a912fb56a24a826386467b86e607e5b12b55fcc6dbe3b5a7224321be0a本机当前 security find-identity -v -p codesigning 只发现:
VoiceSnap Local Code SigningPrivateVoice Local Code Signing缺少 App Store 上传通常需要的身份:
Mac App Distribution 或 Apple 账号当前显示的等效 distribution identity。Mac Installer Distribution,如果要用 productbuild 生成 signed .pkg。Mac App Store Connect provisioning profile for com.taglauncher.app。Apptag/TagLauncher.entitlements 当前包含:
com.apple.security.app-sandbox = truecom.apple.security.files.user-selected.read-write = trueMac App Store 分发需要 sandbox。请在最终 signed build 上复核 entitlements。
优先使用 Apple 官方图形化链路,降低手写签名参数出错概率:
7.8.12 / 20260604.0105。7.8.12 版本里选择处理完成的 build。证书名称取决于你的 Apple Developer 账号,必须使用 security find-identity -v -p codesigning 里显示的真实名称。
cd /Users/ar/Projects/Taglauncher
APP_STORE=1 \
CODESIGN_IDENTITY="Apple Distribution: <TEAM NAME> (<TEAMID>)" \
APP_BUILD=20260604.0105 \
zsh ./build.sh
codesign --verify --deep --strict --verbose=2 build/TagLauncher.app
codesign -d --entitlements :- build/TagLauncher.app
/usr/libexec/PlistBuddy -c 'Print :CFBundleShortVersionString' build/TagLauncher.app/Contents/Info.plist
/usr/libexec/PlistBuddy -c 'Print :CFBundleVersion' build/TagLauncher.app/Contents/Info.plist
如果采用 .pkg 上传:
productbuild \
--component build/TagLauncher.app /Applications \
--sign "Mac Installer Distribution: <TEAM NAME> (<TEAMID>)" \
build/TagLauncher-7.8.12-build20260604.0105-AppStore.pkg
xcrun altool --validate-app \
--type macos \
--file build/TagLauncher-7.8.12-build20260604.0105-AppStore.pkg \
--username "<APPLE_ID>" \
--password "<APP_SPECIFIC_PASSWORD>"
xcrun altool --upload-app \
--type macos \
--file build/TagLauncher-7.8.12-build20260604.0105-AppStore.pkg \
--username "<APPLE_ID>" \
--password "<APP_SPECIFIC_PASSWORD>"
也可以直接用 Transporter 打开上传包完成上传。
在最终 App Store signed build 上执行:
codesign --verify --deep --strict --verbose=2 build/TagLauncher.app
codesign -d --entitlements :- build/TagLauncher.app
/usr/libexec/PlistBuddy -c 'Print :CFBundleShortVersionString' build/TagLauncher.app/Contents/Info.plist
/usr/libexec/PlistBuddy -c 'Print :CFBundleVersion' build/TagLauncher.app/Contents/Info.plist
bash Scripts/window_logic_qa.sh
重点复测:
NSWorkspace 启动应用。CFBundleVersion,使用新的 YYYYMMDD.HHMM。Info.plist、CHANGELOG.md、Release 文档、manifest、tag 和上传资料。