dsh-ios v0.1.0-rc.7
Pre-release
Pre-release
dsh-ios v0.1.0-rc.7
签名团队要选 Xcode 账号真能签的那个,而不是钥匙串里排第一的那个。/ The signing team must be one the Xcode account can provision for, not whichever identity sits first in the keychain.
🐛 修复 / Fixed
- rc.6 的团队自动检测会选错 / rc.6 auto-detection could pick a team Xcode cannot sign for(#4 后续)—— rc.6 用登录钥匙串里第一个 Apple Development 身份的团队作为
DEVELOPMENT_TEAM。在维护者的真机上实测,它选中了一个 Xcode 账号并不拥有的团队,WebDriverAgentRunner 构建报No Account for Team。用-allowProvisioningUpdates自动签名时,决定成败的是 Xcode 账号是否拥有该团队,钥匙串里有没有证书并不算数。/ rc.6 took the team of the first Apple Development identity in the keychain. On a real Mac that was a team the Xcode account does not own, and the WDA build failed withNo Account for Team.
🔧 改进 / Changed
- 统一的签名团队解析 / One signing-team resolver —— WDA runner 与真机 app 构建共用一套顺序:显式选项 >
DSH_IOS_TEAM_ID> Xcode 偏好IDEProvisioningTeams里账号能签的团队(优先有匹配钥匙串证书的,其次个人团队) > 钥匙串身份 > 旧默认值。日志会写明来源与理由。/ WDA and device app builds share: option >DSH_IOS_TEAM_ID> a team from Xcode'sIDEProvisioningTeams(a team with a matching keychain identity first, then the personal team) > keychain identity > legacy default, with the source and reason logged. - 真机 app 构建加
-allowProvisioningUpdates/ Device app builds pass-allowProvisioningUpdates—— 与 WDA 路径一致,Xcode 可以注册设备或为账号团队生成 profile。/ Matching the WDA path, so Xcode can register the device or mint a profile.
🧪 验证 / Verification
新增 scripts/dev-signing-smoke.mjs(8 项,含维护者机器上的真实组合作为回归:必须选中个人团队、不得选中钥匙串团队),并入 pnpm test;把选择逻辑改回 rc.6 的钥匙串优先后 5/8 变红。真机实测:iPhone 17 Pro 解锁后,新逻辑自动选出个人团队,WDA 9 秒内起到 RUNNING(控制 8100 / MJPEG 9100,会话建立)。/ New signing smoke (8 cases, the real-world combination as a named regression); reverting to the rc.6 chooser turns 5/8 red. Verified on a real iPhone 17 Pro: the auto-selected personal team brought WDA to RUNNING in 9 s.
📦 安装 / Install
dsh plugin --profile web add @zseven-w/dsh-ios@latest
dsh webFull Changelog: v0.1.0-rc.6...v0.1.0-rc.7