项目背景

开源社交系统 iOS 端,
从 Swift 初学到功能交付。

2017 年,有 Objective-C 经验但没有 Swift 开发经验,在 ThinkSNS Plus 这个获央视报道的开源社交系统里,从改 bug 开始到独立交付登录、OAuth、表单、动效和工程协作。

角色
iOS 开发
周期
Swift 起步阶段
范围
登录 · 三方授权 · 表单 · 动效 · 工程协作
OAuth 与身份路由

三平台 OAuth 统一适配,
服务端驱动的身份路由。

第三方登录看起来是"调一个 SDK 就行"——实际做了才发现 QQ 一步返回 Token,微博不需要装 App,微信要三段异步串联。MonkeyKing SDK 把它们收敛成统一的 SocialUser 输出。

状态与持久化

七步初始化严格时序,
RealmSwift 初探 ORM。

登录不是跳转页面,是全应用状态切换。Token→Auth Header→事件广播→推送→IM→数据库→认证,七步必须按序执行。注册场景下监听组件未初始化会崩溃——isNewUser 参数区分路径,跳过不该触发的步骤。

动效与交互

扇形弹簧展开动效,
渐变层滚动联动。

动效不是"让它好看"——它是在传达信息。扇形展开让用户看到有哪些发布类型可选,渐变层联动暗示"下面还有更多"。两个动效都在传达信息,不是装饰。

分享与工程协作

一 SDK 双场景复用,
从个人编码到团队协作。

MonkeyKing 本来只做登录,后来发现分享功能也能复用。模块按 login、net、share 拆分。Git feature branch + PR + code review——第一次完整经历从一个人写代码到团队协作。