用 SwiftUI 重构「行动日」

大学,自学 iOS 开发时,我想开发一个自己的 App,当时热衷于使用各种待办清单,但这些我都不能完完全全的喜欢,所以我就自己开发了一个:行动日

后来一直断断续续更新着,期间 Apple 推出了新的开发框架 SwiftUI,等到我觉得 SwiftUI 差不多成熟的时候,也是最近,我想用 SwiftUI 把我所有开发的 App 都重构一遍。

虽然说待办清单的 App 已经琳琅满目,但这是我第一个独立开发的 App,也许我有特殊的感情,总之我还是愿意再做一次。

开发过程

用 SwiftUI 开发的过程很顺利,几天就完成了新行动日的主要功能,严格来说也许总的时间不足 24 小时?在大学时,这些内容我花了几个月。

一些变化

主要功能开发完成后,我开始打磨各种细节,就是一些尺寸、边距,动画,震动反馈之类的。这个过程有点像开偷来的保险柜,每次调整一点点,然后试试看结果。

比较值得提到的是,新行动日的主题色。我先是沿用了旧行动日的主题色 Tangerine(橘子橙),这是由 Apple 提供的,可能我接触这种色彩太久,有点厌倦了吧,所以我用 Adobe Color 希望可以选出一种橙色,既先锋,也要有深度,还可以在作为文字颜色时保持可读性,不过始终没有在这里选到钟意的。

最后我用了爱马仕橙(#F37021)。

然后我开始调整新行动日中的文字,在旧行动日中,我用今日、某日、末日和昨日这样的词来表示待办事项的分类,现在我认为有点晦涩,需要解释,所以我替换成了更直白的语言:提醒事项、以后要做的事、不做的事和已完成。

另一个变化是关于称谓,我不喜欢用「您」,这样似乎会很生硬,「你」也让我觉得无聊,所以在所有出现称谓的地方,我使用的都是「阁下」,比如:阁下想删除此事项吗?阁下如果需要收到提醒,请前往「设置」授予通知权限,之类的。这样应该会有种尊贵的使用体验吧。

上架 App Store

新行动日快开发完后,我需要一些展示数据,用来制作 App Store 的预览图,以往我都是用自己的真实数据,不过这次我用即刻的好奇点名册问了一个问题「你的待办清单 App 目前第一条待办事项是什么?」然后把答案稍作润色相互组合,当作展示数据。

所有都准备好了,提交给 Apple 审核,按照我预期就可以顺利上架 App Store,不过 Apple 拒绝了我提交的新行动日,理由是,新行动日和旧行动日太像了,图标也太像了,我开始跟 Apple 的审核团队交涉,向他们解释新旧行动日之间的关系,以及我会下架旧行动日,App Store 上只会有一个行动日之类的,几次来回后,我不得不开始想办法打造新的新行动日图标。

新行动日图标原本是白色「日」字搭配爱马仕橙渐变背景,我首先想到的是调换这两种颜色,可是这样图标就变得苍白,没有以前好看,也没有以前显眼。于是我在 Pixelmator 尝试各种特效,最后如下图所示,我给白色背景加上了带有动感模糊的灰色波纹,营造一种日式庭院枯山水的感觉,同时让「日」字呈现向内凹陷的效果,增加图标的立体感与质感,并且由于「日」字上下笔画突出部分不够均匀,我特地中心向上偏移「日」字,使其视觉上看起来位于中心。

成功上架

没错,这下一次就通过了 Apple 的审核,这是新行动日的 App Store 链接,以上就是用 SwiftUI 重构「行动日」的事了。

接下来我去重构其他 App 了。敬颂时祺。