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

推荐订阅源

S
Schneier on Security
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Know Your Adversary
Know Your Adversary
G
GRAHAM CLULEY
V
Vulnerabilities – Threatpost
P
Palo Alto Networks Blog
Security Latest
Security Latest
P
Privacy & Cybersecurity Law Blog
Simon Willison's Weblog
Simon Willison's Weblog
A
Arctic Wolf
T
Tor Project blog
T
Threatpost
NISL@THU
NISL@THU
I
InfoQ
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Apple Machine Learning Research
Apple Machine Learning Research
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
aimingoo的专栏
aimingoo的专栏
Microsoft Azure Blog
Microsoft Azure Blog
WordPress大学
WordPress大学
K
Kaspersky official blog
W
WeLiveSecurity
L
LINUX DO - 热门话题
小众软件
小众软件
Recorded Future
Recorded Future
B
Blog RSS Feed
H
Help Net Security
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
IT之家
IT之家
L
Lohrmann on Cybersecurity
Last Week in AI
Last Week in AI
Stack Overflow Blog
Stack Overflow Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
阮一峰的网络日志
阮一峰的网络日志
V
Visual Studio Blog
Blog — PlanetScale
Blog — PlanetScale
雷峰网
雷峰网
爱范儿
爱范儿
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threat Research - Cisco Blogs
C
Cyber Attacks, Cyber Crime and Cyber Security
H
Hacker News: Front Page
博客园 - 三生石上(FineUI控件)
N
Netflix TechBlog - Medium
P
Proofpoint News Feed
有赞技术团队
有赞技术团队
N
News and Events Feed by Topic
云风的 BLOG
云风的 BLOG
Scott Helme
Scott Helme
V2EX - 技术
V2EX - 技术

木土金王可

复盘 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 日