字
字节笔记本
2026年2月18日
mastodon-ios:Mastodon 官方 iOS 客户端
API中转
¥120
本文介绍 mastodon-ios,Mastodon 官方 iOS 客户端应用。Mastodon 是一个去中心化的开源社交网络,而这款官方应用为用户提供了在 iPhone 和 iPad 上访问 Mastodon 网络的便捷方式。
项目简介
mastodon-ios 是 Mastodon 官方开发的 iOS 客户端,采用 Swift 编写,遵循现代 iOS 开发最佳实践。该项目完全开源,在 GitHub 上已获得 2.2k+ stars,是了解大型开源 iOS 应用架构的优秀参考项目。
Mastodon 作为去中心化社交网络的先驱,其官方客户端展示了如何构建一个支持多实例、实时时间线、丰富媒体内容的社交应用。
核心特性
- 多实例支持: 无缝切换和管理多个 Mastodon 账号
- 实时时间线: 支持主页、本地、 federated 三种时间线
- 完整社交功能: 发布、回复、转发、点赞、收藏
- 媒体支持: 图片、视频、GIF 的上传和查看
- 通知中心: 实时推送通知,支持自定义通知偏好
- 搜索发现: 支持标签、账号、内容的搜索
- 无障碍支持: 完善的 VoiceOver 和辅助功能支持
- 深色模式: 原生支持 iOS 深色模式
技术栈
- 编程语言: Swift 5
- UI 框架: UIKit + SwiftUI(混合使用)
- 架构模式: MVVM + 依赖注入
- 网络层: 基于 URLSession 的自定义网络层
- 数据持久化: Core Data + UserDefaults
- 图片加载: SDWebImage
- 自动布局: SnapKit
- 响应式编程: Combine 框架
安装指南
从 App Store 安装
直接在 App Store 搜索 "Mastodon" 下载官方应用。
从源码构建
bash
# 克隆仓库
git clone https://github.com/mastodon/mastodon-ios.git
cd mastodon-ios
# 安装依赖(使用 CocoaPods)
pod install
# 打开工作空间
open Mastodon.xcworkspace
# 在 Xcode 中选择目标设备,点击运行前置要求
- Xcode 14.0+
- iOS 15.0+ / iPadOS 15.0+
- CocoaPods
- 有效的 Apple Developer 账号(用于真机调试)
快速开始
基本使用
- 启动应用: 打开 Mastodon 应用
- 登录实例: 输入 Mastodon 实例地址(如 mastodon.social)
- 授权登录: 通过网页授权完成 OAuth 登录
- 浏览时间线: 查看主页、本地、跨站时间线
- 发布内容: 点击撰写按钮发布新嘟文
支持的 Mastodon 实例
任何支持 Mastodon API 的实例都可以使用,包括:
- mastodon.social(官方实例)
- pawoo.net
- botsin.space
- 自建实例
项目架构
text
Mastodon/
├── App/ # 应用入口和配置
├── Scene/ # 场景管理
├── Service/ # 业务服务层
├── Provider/ # 数据提供者
├── View/ # UI 视图层
│ ├── Content/ # 内容相关视图
│ ├── Account/ # 账号相关视图
│ └── Setting/ # 设置视图
├── ViewModel/ # 视图模型层
├── Model/ # 数据模型
├── Extension/ # 扩展
└── Resource/ # 资源文件开发亮点
1. 多实例账号管理
swift
// 示例:切换活跃账号
let authContext = AuthContext(
authenticationBox: selectedAccount
)
// 使用新的 authContext 发起请求2. 实时时间线更新
使用 WebSocket 实现实时推送,保持时间线最新状态。
3. 富文本渲染
自定义 NSAttributedString 解析器,支持 Mastodon 特有的内容格式。
4. 媒体处理
集成 SDWebImage 实现高效的图片加载和缓存,支持 GIF 和视频的流畅播放。
贡献指南
Mastodon iOS 欢迎社区贡献:
- Fork 仓库
- 创建功能分支
- 提交代码变更
- 创建 Pull Request
详细贡献指南请查看 CONTRIBUTING.md
相关资源
- GitHub 仓库: https://github.com/mastodon/mastodon-ios
- Mastodon 官网: https://joinmastodon.org/
- App Store: 搜索 "Mastodon"
- 问题反馈: https://github.com/mastodon/mastodon-ios/issues
许可证
本项目采用 GPL-3.0 许可证开源。
分享: