9 月 28 日,极简软件工作室成立 4 周年。 9 月 29 日,结婚十周年纪念日。
注册企业的时候没太注意日期,如果也是 9 月 29 日下证就更好了,一天两个纪念日。
周二凌晨 Shipaton 比赛结果出来了,不出意外,没有获奖。如果获奖了,那就是三个大喜了。
但,说实话,很失望,消沉了一整天。唉,参赛报名时,嘴上说根本不在乎获奖,结果心口不一。
一共有三个奖项,最有可能赚钱奖,最佳设计奖,最 build in public 奖,每个奖项有一二三等奖。最有可能赚钱这个奖我是真心压根没信心去拿下,但是后两个奖项我还真的期待能够获奖。特别是 build in public ,我第一周每天都拍个简短的 vlog ,后来嫌费时费力就改成了每周一个 weekly vlog 。
最终获得 build in public 一等奖的是比赛期间一直在互相交流鼓励的一个印度小哥。我之前只关注了他的 X ,在比赛结果公布后我才知道,原来他每天都发一个进度视频到 YouTube ,难怪他拿这个奖了。得知自己获得了一等奖,他立刻买了机票飞去了旧金山,现场领奖,还参加各种研讨会,结识全球的优秀开发者,还参加播客录制,太羡慕了。
在上架后直至比赛结束,我的参赛 App 一个付费也没有(实际上,截止到写这篇周记,也仍然是零收入),所以我希望能够通过获得任意一个奖项来助力 App 的宣传。
诚如一个群友所说的,App 上架后只是第一步,只是九九八十一难的第一难而已。
这周终于有空来给极简时钟和极简日记适配 iOS 18 的新特性了,主要就是支持深色和着色下的 App 图标,再就是增加控制中心的小组件。
今年的关于控制中心的适配,苹果的官方文档给的一点也不详细,最后还是靠 SO 和 Emote 的开发者的帮助下,才加入了这个新功能。
新版本上架后,很快就收到了多个用户的反馈:iOS 18 以下系统的小组件都不显示了,而且也无法添加。同时也收到了几个关于这个问题的差评。调查了一番,才知道「判断系统是否是 iOS 18 」的这句代码居然会在 iOS 18 以下的系统里引起崩溃……进而导致整个 App 的小组件无法加载。解决方法在这里:# WidgetBundleBuilder crash on #available(iOS 18.0) check,不得不吐槽一下苹果的软件品控也着实越来越堪忧了。
这周看了 Vincent Pradeilles 的新视频:# Don't write this code! (use a Phantom Type instead 😌)视频很短,讲的就是如何避免不同语义但是相同类型的实例进行比较,由此我第一次知道「 Phantom Types 」这个东西。
搜了一下,原来几个知名的 Swift Blog 多年以前就都写过关于 Phantom Types 的文章了:
Swift by Sundell ,# Phantom types in Swift
Swift with Majid ,# Phantom types in Swift,# Building type-safe networking in Swift
Hacking with swift ,# How to use phantom types in Swift
一直以来,我在自己的代码里很少使用 swift 的泛型,主要是自己认识水平不高,怕弄巧成拙。现在有了 AI 了,感觉可以大胆使用了。写代码的快乐很大程度上就来自于重构后的优雅啊!
1
Marsgo 51 天前
实名羡慕大佬的执行力,希望以后可以跟大佬学习!
|