使用Racket宏简化Apple Watch与iOS App通信

2025-02-17

开发一款Apple Watch应用需要处理与iOS App间的通信。作者利用Racket宏定义了一种领域特定语言(DSL),自动生成Swift代码来处理WatchConnectivity框架的复杂细节,包括消息编码、解码和消息处理器的实现。这避免了大量重复代码编写,并提高了代码的可维护性和可靠性。通过定义消息类型和处理器,DSL自动生成Swift枚举、结构体、发送消息的函数和消息处理协议,极大简化了开发流程。

阅读更多
开发

开发者用Racket和Swift构建了Podcast播放器

2025-01-27

一位开发者耗时数月,用Racket和Swift编写了一个名为Podcatcher的iOS播客播放器,并已上架App Store。这款应用拥有均衡器、静音剪辑、变速播放等功能,并且免费、无广告、无追踪。开发者还分享了开发过程中对Racket和一些开源库的改进,例如提升了XML库的性能和HTTP库的重定向处理。应用目前缺少跨设备同步和更精细的UI,但未来计划添加睡眠定时器、收藏夹等功能。

阅读更多