新人小透明三个多月的练手作,因为是练手,所以没用第三方库,一点一点搭出来的。
起因其实是我关注的主播国内外都有,分散在了很多不同平台,又不想每个平台都注册一遍(交一遍手机号),每次想看有没有人开播了都很痛苦,想要有一个地方能查看所有主播的在线状态,同时能一键跳转到相应的 App 观看,所以就写了这个应用。不知道有没有人和我有一样的需求 :D。
大家有兴趣可以去下载看看哦,免费的,因为没第三方也没广告,只会访问各个直播平台的服务器。
最后上海求个 iOS 初级坑位,简历看这里👀。
App Store
https://itunes.apple.com/cn/app/live-inn/id1436381902
Screenshots
不是设计师,只好用圆角加阴影来凑个数。


Tech Summary
- 持久层用 Core Data,用到了继承,写一个线程安全的 Core Data Stack 比想象中的要复杂,我算是明白为啥大多用 Realm 之类跨平台替代品了。
- 网络层用有 API 的就用
Codable来解析 JSON,没有的就爬移动端网站用正则提取数据。 - 仿照喵神的 Kingfisher 写了个简单的图片三级缓存。
- 整体架构用的是 MVVM,感觉不是很好,虽然可以把业务逻辑用 Protocol + DI 解耦来做单元测试,但事实上最后主界面因为状态量比较多,ViewModel 里面乱七八糟的东西还是一大堆,以后考虑用 VIP Clean Swift 来重构一遍。