一日一技 | 绕过 iOS 和 iPadOS 的系统 bug 设置农历生日
2023-7-20 15:57:45 Author: sspai.com(查看原文) 阅读量:16 收藏

Matrix 首页推荐 

Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。 

文章代表作者个人观点,少数派仅对标题和排版略作修改。


iOS 联系人 app 中可以为亲朋好友添加农历生日,并在日历 app 中实现联动提醒,十分方便。但是遗憾的是,一直以来该功能都有些小 bug。

近日发现一例 bug 似乎与系统中的时间选择器相关联,下面介绍这个 bug 和我发现的解法。

Bug 描述:无法添加某些特定日期的农历生日

如图所示,当我尝试为联系人添加农历生日「己未年六月初一(即 1979 年 6 月 24 日)」时,第一个问题就出现了:时间选择器不允许选择具体的年份。众所周知,干支纪年法每 60 年为一循环周期(即「甲子」),虽然我选中了「己未年」,但是这是哪一个「己未年」呢?也许是 1979 年,也许是 1919 年、1859 年、1799 年……who knows?

不能选择具体年份,谁知道这是哪一个「己未年」

点击右上角的「完成」之后,更离谱的事情出现了——日期变成了「-2038 年壬戌年冬月初一」,年份、干支、月份都莫名其妙出错了,唯独「初一」还是正确的。

其实从上一张图里也能看出来……

另外,这里的时间选择器还有种种奇怪的交互反馈,无法尽数列举。例如尝试将月份设置为「不可选的月份(灰色字体)」时,会导致干支选项被重置为「辛酉(-2579 年)」。

综上,按正常操作逻辑基本不可能完成「给联系人设置农历生日」这一任务。此问题在我的 iPhone SE 第三代和 iPad Pro 上均能成功复现,不知道在其他设备上情况如何(请在评论区反馈您的机型和 bug 情况)。

解决方法:先添加公历生日,再改为农历生日

尽管令人恼火,但此问题其实有一个很简单的临时解法, 那就是「先添加公历生日,再改为农历生日」。

例如,先用万年历查找到农历 1979(己未)年六月初一对应的公历日期,即 1979 年 6 月 24 日,将联系人的生日设置为该公历日期。在这一步你可能遇到的问题是,年份一栏被设置为了公历 1 年,需要多向下划几下才能看到我们比较熟悉的 19xx 年份。

注意,此时的生日类型应该是默认的「生日」

然后再将生日类型改为「农历生日」。这样做不需要用到时间选择器,系统会自动将公历日期换算成农历日期。点击「完成」,搞定。

将生日类型改为「农历生日」,日期会自动换算,不需要理会时间选择器

结语

我上一次集中给通讯录里的亲朋好友添加农历生日是大概五年前的事情。那时候没遇到过上述的 bug,我操作了几十个不同的农历生日日期都没有任何问题。有理由相信应该是代码传承的过程中,某个程序员的失误操作,搞乱了整个农历相关的时间选择器逻辑。

即使是多年的 Apple 用户,也不得不面对 Apple 软件质量滑坡的事实。其实这个问题在官方社区里几个月来陆续有人反馈,但是都没有得到官方回应,这一点必须差评。在一些软件设计的细节上 Apple 也越来越欠考究,甚至到了不需要交互设计专业技能也能看出来的地步。比如为什么日历 App 的时间选择器支持键盘 / 滚轮混合输入,联系人生日这里却不支持?iOS 优秀的细节设计曾经起到了「聚沙成塔」的效果,如今却有了些许「溃于蚁穴」的迹象。

官方社区里,陆续有人反馈,一直没有得到官方回应

总之,希望遇到此问题的朋友,能用这个简单的办法先解决问题。

> 下载 少数派 2.0 客户端 、关注 少数派公众号,解锁全新阅读体验 📰

> 实用、好用的 正版软件,少数派为你呈现 🚀

© 本文著作权归作者所有,并授权少数派独家使用,未经少数派许可,不得转载使用。


文章来源: https://sspai.com/post/81239
如有侵权请联系:admin#unsafe.sh