工作总结

距离上次发博文快两个月了,本想着七月初发一篇,结果还是鸽了……


七月初的面试总算过了,现在在格隆汇做 iOS 开发实习生。7 月 18 日入职,截至 7 月 27 日,工作了 8 天。

说来惭愧,同事们说的很多开发上的组件 / 步骤,只是知道而没有使用过,所以这几天都在磕磕碰碰地学。

处理 WebView 内无法拨打电话

一个 Web 活动页面内有一个联系客服的按钮,内部的超链接是 tel:,但之前的路由没有写这个 scheme 的判断,导致点击后进度条一闪而过,没有响应拨打电话的请求。

这个问题很容易解决,在问题描述中其实已经提供了解决的方法。不过测试时稍微麻烦一点,模拟器没有电话 App,所以只能在真机上进行测试。

重构分页控制器

App 前三代都是使用 Objective-C,第四代开始使用 Swift。由于历史遗留问题和时间问题,没办法全部转到 Swift,现阶段是逐步重构代码。

这段时间我负责一个分页控制器的重构。

一开始时没有梳理业务逻辑,想着先把 Objective-C 翻译到 Swift,写了一天最后发现源代码里有几个变量和函数只有定义却没有调用,白白浪费了时间。

分页控制器(主控制器)用了 XLPagerTabStrip,其需要子控制器遵循 IndicatorInfoProvider 协议。五个子控制器中只有一个使用了 Swift,另外四个还是使用 Objective-C。

在直接 extension 和子类继承再 extension 之间,我选择了后者。主要的考量是,重构的分页控制器和五个子控制器密切相关,这次梳理好代码文件的层次与关系,以后重构剩下的四个子控制器时可以直接编写代码。

测试时一直停留在重构的分页控制器和用户中心两个页面,发现用户退出后页面不会即时刷新,之后通过订阅用户登录状态改变的通知进行修复。

Fabric 崩溃日志监测

Fabric 监测到在 WKWebView 中进行字符串的选择和处理时会 crash,但是模拟器和真机都没办法复现。看崩溃信息像是挂在了 Apple 的私有函数,现在只能加个 Log 等待下次报错定位到具体文章,再排查了了。

总结

几天时间却产出不多,还是要努力进步啊。

顺便,链式语法真香。