Skip to content

perf(ios-simulator): 构建链路优化(arch 预检 + 缓存复用 + 回收) - #2899

Open
BarneyZhaoooo wants to merge 4 commits into
makecindy:mainfrom
BarneyZhaoooo:perf/ios-simulator-build-optimization
Open

perf(ios-simulator): 构建链路优化(arch 预检 + 缓存复用 + 回收)#2899
BarneyZhaoooo wants to merge 4 commits into
makecindy:mainfrom
BarneyZhaoooo:perf/ios-simulator-build-optimization

Conversation

@BarneyZhaoooo

@BarneyZhaoooo BarneyZhaoooo commented Aug 17, 2026

Copy link
Copy Markdown

这次改了什么

摘要

降低用户在 Cindy 里「构建 + 运行 iOS App 到模拟器」的端到端成本(时间 / 失败率 / 磁盘)。四个改动:

  1. arch 预检:build 前用 -showBuildSettingsARCHS − EXCLUDED_ARCHS,与目标模拟器架构比对,不匹配提前抛 APP_ARCH_MISMATCH——避免「build 出 x86 装不进 arm64 模拟器再换架构全量重编」。对 Pod / SPM / 纯源码一视同仁,读的是 Xcode 最终裁决,不猜真凶、不 pin arch。
  2. 缓存复用derivedDataPath / SPM checkout 由按 session 隔离改为按 worktree+arch 复用,重复 build 走增量(Xcode 自动处理源码变化)。
  3. 跳过 SPM 版本检查:build 加 -onlyUsePackageVersionsFromResolvedFile;仅当 Xcode 明确报 Package.resolved 缺失/不可用时,才去掉该参数重试一次。
  4. 机会式冷缓存回收:build 准入/结束时更新 lastUsed marker;超过 7 天未使用则回收。这是 TTL,不是磁盘配额,不能保证总占用上限。

变更类型

  • refactor / perf 重构或性能优化

范围

UI 变化

不涉及

怎么验证的

自动验证

pnpm --filter @cindy/ios-simulator-runtime build   # typecheck 通过
pnpm --filter @cindy/ios-simulator-runtime test    # 345 passed(含 lastUsed / SPM fallback 新测)
pnpm --filter desktop typecheck                     # 通过
pnpm --filter desktop exec vitest run .../ios-simulator.test.ts  # 129 passed
pnpm --filter desktop exec vitest run ... -t pruneStale         # 4 passed

手工验证

不涉及(本机 Xcode 26.5 + arm64,未在真实模拟器 build 跑通全链路)。

未执行的验证

  • 未在真实用户项目上跑 arch 预检(无复现样本)。ARCHS / EXCLUDED_ARCHS 的 key 名与值格式基于 Xcode 标准 build setting,且用「ARCHS − EXCLUDED_ARCHS」兜底、不依赖 NATIVE_ARCH_ACTUAL 等版本敏感 key,需在真实项目首跑确认。

风险

风险分类

  • 无已知风险(改动仅限 Desktop main 进程的构建命令组装与缓存目录,不触冷更、协议、权限、用户数据)

影响与回滚

  • 影响范围:仅 iOS 模拟器的构建命令与缓存目录(userData/ios-simulator/projects|spm
  • 回滚 / 降级方式:revert 本 PR;缓存目录回退为按 session 隔离(只是失去复用,无数据破坏)

备注

pnpm test:unit:related 里 desktop 整包有 2 个既有的 ghostInstallReceipt 失败(still reads normalized setup receipts),已用 git stash 在干净 main 复现、与本次改动无关,已单开 issue #2897

提交前检查

  • 已 review 完整 diff
  • 每个 commit 都带 DCO 签名(git commit -s
  • 未提交凭证、令牌或授权文件
  • 已确认测试结果或说明未执行原因

@BarneyZhaoooo
BarneyZhaoooo requested a review from a team as a code owner August 17, 2026 10:24
@greptile-apps

greptile-apps Bot commented Aug 17, 2026

Copy link
Copy Markdown

Greptile Summary

本次变更优化了 iOS 模拟器构建链路,并补齐了此前评审指出的进程内缓存回收、共享缓存串行化及产物生命周期问题。

  • 架构预检从 Xcode 最终 build settings 中识别 App target,并在明确不匹配时提前失败
  • DerivedData 与 SPM checkout 改为按 worktree、容器和架构复用,同时通过 last-used marker 实施机会式 TTL 回收
  • 构建产物复制到不可变目录,并通过 pin、安装状态和数量上限管理其生命周期
  • SPM 构建优先使用 resolved versions,仅在明确的 resolved-file 错误下回退

Confidence Score: 5/5

当前 HEAD 中未发现仍需阻止合并的故障,PR 看起来可以安全合并。

未发现仍然存在的阻塞性失败。

Important Files Changed

Filename Overview
apps/desktop/src/main/mcp-integrations/ios-simulator.ts 实现共享构建缓存、实时安全回收、同键构建串行化以及不可变产物的 pin 与淘汰生命周期;此前相关进程内竞态在当前 HEAD 中已处理。
packages/ios-simulator-runtime/src/project-adapter.ts 增加架构预检、App target 识别和受限的 SPM resolved-file 回退;此前错误选择首个 target 的路径已移除。
apps/desktop/src/main/mcp-integrations/tests/ios-simulator.test.ts 增加缓存 TTL、活动缓存保护、产物 pin/淘汰、符号链接清理和容器级缓存隔离的回归覆盖。
packages/ios-simulator-runtime/src/project-adapter.test.ts 覆盖多 target 架构选择、架构不匹配和 SPM 回退行为。

Reviews (21): Last reviewed commit: "fix(ios-simulator): ARCH 预检文案只指向 app tar..." | Re-trigger Greptile

Comment thread apps/desktop/src/main/mcp-integrations/ios-simulator.ts
Comment thread packages/ios-simulator-runtime/src/project-adapter.ts Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 44349254a6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/desktop/src/main/mcp-integrations/ios-simulator.ts
Comment thread apps/desktop/src/main/mcp-integrations/ios-simulator.ts
Comment thread packages/ios-simulator-runtime/src/project-adapter.ts Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b9536be675

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/desktop/src/main/mcp-integrations/ios-simulator.ts Outdated
Comment thread apps/desktop/src/main/mcp-integrations/ios-simulator.ts Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

appArtifacts.set(artifact.artifactId, {
instanceId: instance.instanceId,
projectKind: built.kind,
artifact,
});

P1 Badge Reclaim retained artifacts when the host is disposed

When Cindy shuts down or restarts after successful builds, dispose() still calls only appArtifacts.clear() and never invokes discardArtifactCopy, leaving every copied .app on disk even though its in-memory handle is gone. Fresh evidence in the final tree is the unchanged clear-only disposal at line 6376; because later builds refresh the cache directory mtime, these orphaned copies can accumulate indefinitely despite the new stale-cache sweep.

AGENTS.md reference: AGENTS.md:L36-L37

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/desktop/src/main/mcp-integrations/ios-simulator.ts Outdated
Comment thread apps/desktop/src/main/mcp-integrations/ios-simulator.ts Outdated
Comment thread apps/desktop/src/main/mcp-integrations/ios-simulator.ts Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5cdeff2363

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/ios-simulator-runtime/src/project-adapter.ts
Comment thread apps/desktop/src/main/mcp-integrations/ios-simulator.ts Outdated
Comment thread apps/desktop/src/main/mcp-integrations/ios-simulator.ts Outdated
Comment thread apps/desktop/src/main/mcp-integrations/ios-simulator.ts Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b0cb35f5b9

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/desktop/src/main/mcp-integrations/ios-simulator.ts Outdated
Comment thread apps/desktop/src/main/mcp-integrations/ios-simulator.ts Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

verifyIOSSimulatorSidecarDigest,

P2 Badge 在删除完成前锁定待回收的缓存键

声称修复后的新证据是 rm 仍为异步操作:最终一次 isSkip 检查结束后,此处会在递归删除期间让出事件循环,而另一个 build_app 可在这时把同一键加入 activeBuildCacheKeys 并启动 xcodebuild。因此,当一个构建回收旧键、另一个构建同时开始使用该键时,DerivedData 或 SPM checkout 仍可能从正在运行的构建下方被删除;应让删除候选参与同一准入锁,并保持占用直到 rm 完成。

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/desktop/src/main/mcp-integrations/ios-simulator.ts Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: bd660b2b6a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/desktop/src/main/mcp-integrations/ios-simulator.ts
Comment thread apps/desktop/src/main/mcp-integrations/ios-simulator.ts Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 347e6036ab

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/desktop/src/main/mcp-integrations/ios-simulator.ts
Comment thread apps/desktop/src/main/mcp-integrations/ios-simulator.ts Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 976d66cbf0

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/desktop/src/main/mcp-integrations/ios-simulator.ts Outdated
Comment thread apps/desktop/src/main/mcp-integrations/ios-simulator.ts Outdated
Comment thread apps/desktop/src/main/mcp-integrations/ios-simulator.ts Outdated
@MagicLizi

Copy link
Copy Markdown
Contributor

@BarneyZhaoooo 👋 这个 PR 还有 3 条 review conversation 没 resolve(apps/desktop/src/main/mcp-integrations/ios-simulator.ts),auto-review 因此暂时跳过、没法继续审查 / 合并。

如果你已经按评论改完或回应了,请到对应 thread 上点 Resolve conversation;全部 resolve 后,下一轮 auto-review 会自动重新审查这个 PR。

@MagicLizi MagicLizi added the touches:core 改动碰到架构核心路径(review-pr 自动维护,仅展示) label Aug 18, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2aa24a9aee

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/desktop/src/main/mcp-integrations/ios-simulator.ts Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b56d257cd5

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/desktop/src/main/mcp-integrations/ios-simulator.ts
Comment thread apps/desktop/src/main/mcp-integrations/ios-simulator.ts Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 53b4657b80

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/ios-simulator-runtime/src/project-adapter.ts
Comment thread apps/desktop/src/main/mcp-integrations/ios-simulator.ts
@MagicLizi MagicLizi added the awaiting-discussion 等待维护者讨论(review-pr) label Aug 18, 2026
@BarneyZhaoooo
BarneyZhaoooo force-pushed the perf/ios-simulator-build-optimization branch from 53b4657 to 3fa0bba Compare August 18, 2026 07:46

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3fa0bbac9e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/desktop/src/main/mcp-integrations/ios-simulator.ts
Comment thread packages/ios-simulator-runtime/src/project-adapter.ts Outdated
@BarneyZhaoooo
BarneyZhaoooo force-pushed the perf/ios-simulator-build-optimization branch from 3fa0bba to d106270 Compare August 18, 2026 08:07

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d10627062b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/ios-simulator-runtime/src/project-adapter.ts Outdated
Comment thread apps/desktop/src/main/mcp-integrations/ios-simulator.ts Outdated
Comment thread apps/desktop/src/main/mcp-integrations/ios-simulator.ts
@BarneyZhaoooo
BarneyZhaoooo force-pushed the perf/ios-simulator-build-optimization branch from d106270 to 369f87d Compare August 18, 2026 08:56

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 369f87df36

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/desktop/src/main/mcp-integrations/ios-simulator.ts Outdated
Comment thread apps/desktop/src/main/mcp-integrations/ios-simulator.ts
@BarneyZhaoooo
BarneyZhaoooo force-pushed the perf/ios-simulator-build-optimization branch from 369f87d to d880ab5 Compare August 18, 2026 09:11
Comment thread apps/desktop/src/main/mcp-integrations/ios-simulator.ts

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d880ab5401

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/desktop/src/main/mcp-integrations/ios-simulator.ts
同一 worktree 反复 build 从分钟级全量降到秒级增量,build 前说清目标 arch。

- arch 预检:build 前 -showBuildSettings 读所有 target 的 ARCHS−EXCLUDED_ARCHS,
  定位 .app target,不匹配抛 APP_ARCH_MISMATCH,避免白编译。
- 缓存复用:derivedDataPath/SPM checkout 按 sha256(worktree+arch) 跨 session 复用,
  加 -onlyUsePackageVersionsFromResolvedFile(无 resolved 时 fallback resolve)。
- 并发:同 key 进程内互斥 + prune 实时 isSkip 回调 + renameSync 原子分离。
- artifact 生命周期:cp verbatimSymlinks 到 immutable 副本,每 instance 上限 4,
  install 期间 pin,unpin 归零/dispose 时回收;dispose 等待删除完成。

Refs makecindy#2891

Signed-off-by: han <zhaohan@xd.com>
@BarneyZhaoooo
BarneyZhaoooo force-pushed the perf/ios-simulator-build-optimization branch from d880ab5 to a804d31 Compare August 18, 2026 09:35
@MagicLizi

Copy link
Copy Markdown
Contributor

⏸️ 本 PR 触发 arch 维护者确认门。

iOS Simulator 构建链路优化涉及架构级改动(约 2000 行),需维护者在 PR 上 Approve 后方可合并。

讨论 issue 已创建,详见上方链接。

讨论 issue:#2958

回应 makecindy#2958:prune 按显式 lastUsed,不再把 cache-key 目录 mtime 当最后使用;
SPM 仅在 Xcode 明确报 Package.resolved 缺失/不可用时去掉 resolved-file pin 重试。
7 天策略是机会式 TTL,不是磁盘配额。

Refs makecindy#2891 makecindy#2958

Signed-off-by: han <zhaohan@xd.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: fa1eaf0dde

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/ios-simulator-runtime/src/project-adapter.ts Outdated
Codex P2:全文分别匹配 Package.resolved 和 missing/no such file,会把
「一行提 lockfile、另一行缺头文件」误判成 resolved 缺失并再跑一轮完整
xcodebuild。改为同一诊断行同时点名 Package.resolved 且表示该文件不可用。

Refs makecindy#2899 makecindy#2958

Signed-off-by: han <zhaohan@xd.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 66bdb67a97

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/ios-simulator-runtime/src/project-adapter.ts
预检只读 .app 的 ARCHS − EXCLUDED_ARCHS,报错却让用户去查依赖排除,
会把人带到 Pod/SPM。改成说明 app target 有效架构与模拟器需求不匹配。

Refs makecindy#2899

Signed-off-by: han <zhaohan@xd.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

awaiting-discussion 等待维护者讨论(review-pr) touches:core 改动碰到架构核心路径(review-pr 自动维护,仅展示)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants