For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt, and this page is available as Markdown at /developers/apple/submit.md.

提交贡献

感谢你的贡献。一旦你的更改准备就绪,请向 home-assistant/iOSmain 分支打开一个 pull request。

提交 PR 的清单

在请求 review 之前,请确保你已经完成了基本工作:

  • Description:解释更改了什么以及为什么。
  • Tests:当行为变更时添加或更新测试。
  • Linting:运行 bundle exec fastlane lint
  • Buildability:确保相关的 scheme 仍能在本地构建。
  • UI changes:界面变更时附上截图或录屏。
  • Documentation:当更改影响贡献者工作流或用户可见的行为时,更新开发者文档或用户文档。
  • Cross-target impact:检查你的更改是否也影响 widgets、watchOS、CarPlay、app extensions 或 macOS packaging。请参见每个表面的 targets overview

保持 pull request 小而精

较小的 pull request 更容易 review,也更易于理解。如果更改超过一个思路,请尽可能将其拆分为后续的 PR。

打开 draft PR

Draft pull requests 是在一切就绪之前获得关于方向、架构或 CI 密集型更改的早期反馈的好方法。

Review 期望

维护者和 reviewer 通常关注:

  • correctness
  • 各 target 间的回归
  • test coverage
  • maintainability
  • 共享代码是否属于正确的模块

CI 是 review 过程的一部分,而不是替代品。

更新你的分支

你不需要在每次 push 到 main 时都 rebase。在有必要的原因时更新你的分支——例如,与 main 存在冲突、由最近更改引起的 CI 失败,或 main 上的修复影响了你的工作。如果你的分支尚未 review,rebase 通常是可行的。开始 review 后,请优先选择对 PR 上已有的讨论最不打扰的更新策略。

Localization 和生成的文件

  • Translations 通过 Lokalise 管理
  • 如果你触及 localized strings 或生成的输出,请确保相关的 workflow 和生成的文件保持一致。
  • 如果 CI 报告未使用的 strings,请在请求重新 review 之前清理它们。

收到反馈后

  • 用有针对性的后续提交处理评论。
  • 当反馈影响行为时,重新运行本地 lint 和测试。
  • 分支变绿后,请求再次 review。