如何为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),仅供参考
