如何为Thunderbird for iOS贡献代码?完整开发者指南

如何为Thunderbird for iOS贡献代码?完整开发者指南

【免费下载链接】thunderbird-iosThunderbird for iOS – Open Source Email App for iOS项目地址: https://gitcode.com/gh_mirrors/th/thunderbird-ios

Thunderbird for iOS是一款开源的iOS邮件应用,本文将为你提供完整的开发者指南,帮助你轻松参与到这个项目的代码贡献中,成为开源社区的一员。

了解Thunderbird for iOS项目

Thunderbird for iOS是一个全新的开发项目,旨在为iPhone和iPad打造高质量的邮件客户端。该项目采用Swift和SwiftUI构建,从底层开始开发了一系列核心库,包括IMAP、SMTP和JMAP协议的实现,以及账户自动配置、持久化存储和安全的钥匙串存储等功能,甚至还编写了自己的MIME编码和解码模块。

贡献方式不止代码

除了代码贡献,你还可以通过以下方式为Thunderbird for iOS项目出一份力:

  • 翻译:从Weblate项目网站将iOS和Android版Thunderbird翻译成你所使用的语言。
  • 报告问题或提出功能:通过在GitHub上打开新问题来报告错误或提出功能建议,提交前请检查是否有重复问题。
  • 财务支持:Thunderbird得到了像你这样的用户的财务支持,今天就进行财务贡献!
  • 其他贡献机会:还有许多其他贡献机会可供选择。

同时,确保阅读Mozilla社区参与指南。

代码贡献准备工作

要进行代码贡献,你需要一个免费的GitHub账户,以及一台运行最新稳定版Xcode(苹果用于制作应用的IDE)的Mac。

克隆仓库

首先,克隆Thunderbird for iOS仓库,仓库地址为:https://gitcode.com/gh_mirrors/th/thunderbird-ios

项目设置

Thunderbird iOS项目设计简洁。我们不会接受任何引入Xcode外部额外构建工具或项目配置步骤的更改,因为我们希望让贡献对下一位贡献者来说保持合理和可访问性。

打开Thunderbird.xcworkspace在Xcode中,等待包解析完成,然后构建并运行。

开始代码贡献

本着让尽可能多的潜在贡献者能够参与这个项目的精神,我们会接受各种形式的贡献。如果你希望在编写代码之前获得明确的指导和批准,可以在GitHub上打开新问题进行询问,或者描述你想要做的事情。或者,你也可以将拉取请求作为问题和答案一起发送,我们会共同解决。

目前,SwiftUI在主应用上的工作已经开始,但我们仍处于设计过程的早期阶段,尚未准备好接受贡献。加入公开的TestFlight可以了解我们所处的阶段,并关注项目进展。当我们开放贡献时,一定会通知大家。

核心团队的日常活动在我们的sprint 看板上进行跟踪。随着我们的开发,看板和路线图将进行更新以保持一致。

还有一些尚待实现的功能,你可以帮助我们完成,例如:

  • IMAP邮箱追加
  • IMAP邮箱搜索和筛选
  • JMAP附件的URLSession任务
  • JMAP提交的URLSession任务

此外,我们还缺少一个用于OAuth 2支持的核心库,该库已计划但尚未开始。(在实现OAuth支持之前,电子邮件账户必须使用密码、应用程序密码或承载令牌进行身份验证。)

代码风格和约定

Thunderbird iOS项目使用Xcode捆绑的swift-format工具进行轻度代码检查,该工具也被SourceKit LSP在内部使用。代码检查主要关注可读性,例如:

  • GroupNumericLiterals要求在数字字面量中插入下划线作为千位分隔符,例如1_000_000
  • TypeNamesShouldBeCapitalized保持类型签名的合理性。

贡献时请使用常规的Swift代码风格,我们主要关心的是让彼此易于阅读。Xcode的默认设置已经足够。

拉取请求会触发GitHub Action,使用仓库规则运行swift-format,未通过格式检查的将无法合并。

要从shell本地运行swift-format,首先确保你的工作目录是仓库根目录,因为从主目录运行swift-format会递归地、就地检查和格式化每个源代码文件:

cd File/Path/To/thunderbird-ios/
xcrun swift-format format . --parallel --recursive --in-place

完整的swift-format规则列表可供参考。

AI贡献说明

人工智能对开源项目的贡献是一个有争议且复杂的话题。我们正在制定指南和文档,说明我们团队如何处理这些贡献。目前,请在贡献中说明是否以及如何使用了人工智能。如果我们怀疑某个贡献是人工智能生成的,没有人类贡献,出于安全原因,我们可能会拒绝它。请关注更多详细指南。

许可证信息

Thunderbird for iOS受Mozilla Public License, v. 2.0条款的约束。如果未随本文件一起分发MPL副本,你可以在https://mozilla.org/MPL/2.0/获取。

上述许可证声明在创建新文件时会自动生成。请不要删除生成的标题和许可证信息。

现在,你已经了解了为Thunderbird for iOS贡献代码的完整流程,赶快行动起来,加入到这个开源项目中,为打造更好的iOS邮件应用贡献自己的力量吧!

【免费下载链接】thunderbird-iosThunderbird for iOS – Open Source Email App for iOS项目地址: https://gitcode.com/gh_mirrors/th/thunderbird-ios

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考