一日一技:繞過 iOS 和 iPadOS 的系統 bug,設置農曆生日
少數派· 2023-07-21 13:43
關注
設置農曆生日
iOS 聯系人 app 中可以爲親朋好友添加農曆生日,并在日曆 app 中實現聯動提醒,十分方便。但是遺憾的是,一直以來該功能都有些小 bug。
近日發現一例 bug 似乎與系統中的時間選擇器相關聯,下面介紹這個 bug 和我發現的解法。
01 Bug 描述:無法添加某些特定日期的農曆生日
如圖所示,當我嘗試爲聯系人添加農曆生日「己未年六月初一(即 1979 年 6 月 24 日)」時,第一個問題就出現了:時間選擇器不允許選擇具體的年份。
衆所周知,幹支紀年法每 60 年爲一循環周期(即「甲子」),雖然我選中了「己未年」,但是這是哪一個「己未年」呢?也許是 1979 年,也許是 1919 年、1859 年、1799 年…… who knows?
不能選擇具體年份,誰知道這是哪一個「己未年」
點擊右上角的「完成」之後,更離譜的事情出現了——日期變成了「-2038 年壬戌年冬月初一」,年份、幹支、月份都莫名其妙出錯了,唯獨「初一」還是正确的。
其實從上一張圖裏也能看出來……
另外,這裏的時間選擇器還有種種奇怪的交互反饋,無法盡數列舉。例如嘗試将月份設置爲「不可選的月份(灰色字體)」時,會導緻幹支選項被重置爲「辛酉(-2579 年)」。
綜上,按正常操作邏輯基本不可能完成「給聯系人設置農曆生日」這一任務。此問題在我的 iPhone SE 第三代和 iPad Pro 上均能成功複現,不知道在其他設備上情況如何(請在評論區反饋您的機型和 bug 情況)。
02 解決方法:先添加公曆生日,再改爲農曆生日
盡管令人惱火,但此問題其實有一個很簡單的臨時解法, 那就是「先添加公曆生日,再改爲農曆生日」。
例如,先用萬年曆查找到農曆 1979(己未)年六月初一對應的公曆日期,即 1979 年 6 月 24 日,将聯系人的生日設置爲該公曆日期。在這一步你可能遇到的問題是,年份一欄被設置爲了公曆 1 年,需要多向下劃幾下才能看到我們比較熟悉的 19xx 年份。
注意,此時的生日類型應該是默認的「生日」
然後再将生日類型改爲「農曆生日」。這樣做不需要用到時間選擇器,系統會自動将公曆日期換算成農曆日期。點擊「完成」,搞定。
将生日類型改爲「農曆生日」,日期會自動換算,不需要理會時間選擇器
03 結語
我上一次集中給通訊錄裏的親朋好友添加農曆生日是大概五年前的事情。那時候沒遇到過上述的 bug,我操作了幾十個不同的農曆生日日期都沒有任何問題。有理由相信應該是代碼傳承的過程中,某個程序員的失誤操作,搞亂了整個農曆相關的時間選擇器邏輯。
即使是多年的 Apple 用戶,也不得不面對 Apple 軟件質量滑坡的事實。其實這個問題在官方社區裏幾個月來陸續有人反饋,但是都沒有得到官方回應,這一點必須差評。在一些軟件設計的細節上 Apple 也越來越欠考究,甚至到了不需要交互設計專業技能也能看出來的地步。
比如爲什麽日曆 App 的時間選擇器支持鍵盤 / 滾輪混合輸入,聯系人生日這裏卻不支持?iOS 優秀的細節設計曾經起到了「聚沙成塔」的效果,如今卻有了些許「潰于蟻穴」的迹象。
官方社區裏,陸續有人反饋,一直沒有得到官方回應
總之,希望遇到此問題的朋友,能用這個簡單的辦法先解決問題。