主要观点:开发者经常使用邮件列表,常用邮件客户端的惯例已过时,作者倾向使用苹果邮件应用(Mail.app),但它在邮件列表方面存在不足,于是作者编写了 MailTools 扩展来改善。
关键信息:
- 之前 Mail.app 通过邮件包扩展,存在未记录和不稳定问题,苹果推出 MailKit 替代,其运行在进程外更易调试,但功能受限。
- 开发 MailTools 扩展时,需创建包含扩展的应用,注意模板中预发送检查的错误处理问题,SwiftUI 和 SwiftData 使开发更便捷,SwiftData 用于数据持久化但存在 Core Data 抽象泄漏。
- Mail.app 中的纯文本编辑体验实际是 HTML,可通过 MimeParser 和 SwiftSoup 库解析,作者构建中间表示以便处理 HTML 和纯文本。
重要细节:
- 作者提到的两个改善 Mail.app 邮件列表体验的插件 MailWrap 和 MailFlow 及作者。
- 开发扩展时遇到的 Swift 错误处理与 XPC 相关问题及解决思路(用 NSError 替代 Swift Error 类型)。
- SwiftUI 在 Mac 上的改进及使用 Window 和 windowResizability 修饰符。
- Mail.app 中用于不同用途的 HTML 类及 ID 名称。
结论:项目开发较顺利,除遇到一些问题外,整体使用新的 Swift 框架很高效,若对 MailTools 感兴趣可尝试,有问题可告知作者。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。