Skip to content

dsh-ios v0.1.0-rc.7

Pre-release
Pre-release

Choose a tag to compare

@finiking finiking released this 03 Sep 14:09

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 with No 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's IDEProvisioningTeams (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 web

Full Changelog: v0.1.0-rc.6...v0.1.0-rc.7