工作总结
距离上次发博文快两个月了,本想着七月初发一篇,结果还是鸽了……
七月初的面试总算过了,现在在格隆汇做 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 等待下次报错定位到具体文章,再排查了了。
总结
几天时间却产出不多,还是要努力进步啊。
顺便,链式语法真香。