惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
云风的 BLOG
云风的 BLOG
美团技术团队
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
爱范儿
爱范儿
Stack Overflow Blog
Stack Overflow Blog
WordPress大学
WordPress大学
GbyAI
GbyAI
雷峰网
雷峰网
P
Proofpoint News Feed
IT之家
IT之家
人人都是产品经理
人人都是产品经理
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
aimingoo的专栏
aimingoo的专栏
小众软件
小众软件
T
The Blog of Author Tim Ferriss
月光博客
月光博客
V
Visual Studio Blog
L
LINUX DO - 热门话题
L
Lohrmann on Cybersecurity
T
Troy Hunt's Blog
Project Zero
Project Zero
U
Unit 42
T
Tor Project blog
Scott Helme
Scott Helme
L
LINUX DO - 最新话题
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
I
InfoQ
Cloudbric
Cloudbric
P
Proofpoint News Feed
The Cloudflare Blog
H
Heimdal Security Blog
Google DeepMind News
Google DeepMind News
The GitHub Blog
The GitHub Blog
Attack and Defense Labs
Attack and Defense Labs
有赞技术团队
有赞技术团队
T
Threat Research - Cisco Blogs
T
The Exploit Database - CXSecurity.com
J
Java Code Geeks
博客园 - 【当耐特】
Security Latest
Security Latest
The Register - Security
The Register - Security
F
Fortinet All Blogs
I
Intezer
H
Hackread – Cybersecurity News, Data Breaches, AI and More
MongoDB | Blog
MongoDB | Blog
N
Netflix TechBlog - Medium
NISL@THU
NISL@THU
T
Tenable Blog

木土金王可

复盘 2024,年度好物分享 落地 第二十台相机:宝丽来(Polaroid)Impulse AF 第十九台相机:哈苏(Hasselblad)X1D II 第十八台相机:宝丽来(Polaroid)Macro 5 SLR 第十七台相机:康泰时(Contax)S2 稻荷山 Dave Chappelle: The Closer 语言是思想的边界 对街头卖惨表演的看法 《民主森林》 电梯英雄 2023,年度好物分享 《大画幅 4x5》复活 新加坡华侨银行(OCBC)开户指南 第十六台相机:宾得(Pentax)PC35AF-M SEDATE 第十五台相机:沙慕尼(Chamonix)4x5 F2 Xbox 连接 Studio Display Twitter、Apple、Meta 和 Reddit 广告平台使用体验 第十四台相机:康泰时(Contax)S2 你到底什么时候买相机 拍摄胶片的理由 HomePod 不能作为 Mac 音响 男性生来就是残缺的女性 第十三台相机:柯尼卡(Konica)Big Mini 301 三年,十二台相机 恐怖片很好看啊 比残忍更残忍 推荐《女生呵护指南》 你是左派还是右派? 驯服内心的猛犸象:为什么你应该停止关心别人对你的想法 想写点什么,但又不知道该写什么 摄影构图 精致的结婚照 中文没死,是有的人死了 上海爆发 COVID-19 疫情以来我收藏的文章(持续更新) 自我审查 25 美元,成为美国计算机学会(ACM)会员 将同事送我的仙人掌转换成 3D 模型 当我们谈论离屏渲染时,我们在谈论什么 如何让 iOS 给你的应用开后门 二零一九年夏秋之交工作生活的异动 一声一世 iOS 限制输入字数与特殊字符的巧妙方法 对于番茄学习法的误解 Swift 中的空字符串 我如何自学 iOS 开发 为什么我不喜欢社交网络 如何与人见面 为什么我不喜欢即时通讯 以配置信息(UserDefaults)的形式存储应用数据 在文件沙盒中读取与写入应用数据 在 iOS 开发中使用键值对监听(KVO)与通知(Notification) 介绍 GCD 中的线程,队列,延迟执行,线程阻断,信号量,任务组与任务对象 iOS 原生 URLSession 网络请求 什么是自动引用计数(ARC)和引用循环 在 iOS 开发中使用代理与协议 独立开发的第一个应用:行动日 为什么我会把 Google Pixel 换成 iPhone SE? 手动进行 Nexus 和 Pixel 系列手机的 OTA 更新 开启 Chromebook 的夜间模式
用 SwiftUI 重构「行动日」
kinnouka bokudo · 2022-11-20 · via 木土金王可

大学,自学 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 了。敬颂时祺。

2022 年 11 月 20 日