独立开发周记 102:金蛇送福

查看 9|回复 0
作者:vulgur   
2025,0120-0126
孩子住了七天院,总算是在年前出院了。但又没真的住院,因为医院离家非常近,每天晚上打完点滴就回家了。但是每天早上还要去医院打点滴,又不得不早起去医院,被迫这一周都睡得很早。
早起的人才能享受医院的停车位。
我发现咖啡的戒断反应有点严重。虽然这周每天睡得早,但是早上醒来就要去医院,来不及做咖啡,医院还没有卖咖啡的自动贩卖机,点外卖的话还需要去排电梯下楼去门诊楼去取,自己又嫌冷懒得出去买,这就导致一上午都没有喝上一口咖啡,结果就是精神萎靡,浑身难受……

Windsurf 一周使用
这一周写代码的时间不多,而且 99% 的代码都是 Windsurf 完成的。
极简时钟 iOS
这周提交了极简时钟 iOS v4.8.1 ,更新内容就只有一个:加入了葡萄牙语(巴西)的本地化。
一开始我是想要用 String Catalog 这个在线工具做的,但是我的免费额度用完了,继续使用的的话需要升级,最低 10 美元/月。而我上周才刚刚订阅了 Windsurf ,心想着能省就省,有什么就用什么吧。
上个月我用 Windsurf 给安卓项目添加本地化的时候费了老劲了,不过那次是找出各个本地化语言中缺失的翻译,和这次给 iOS 项目添加一个新的本地化语言的需求还是不一样的,但是这次也是足足花了一下午才搞定。
我的 iOS 项目的本地化字符串格式都改成了 String Catalog,其实就是把之前各个 key-value 的本地化文件都统一到了一个 json 文件里,这就导致了这个 json 文件非常大。极简时钟的本地化文件有 15K 行,Windsurf 无法一次处理完成,它就建议:
[ol]
  • 备份源文件
  • 将源文件按字母拆分成四个小文件
  • 在小文件里添加葡语的翻译
  • 合并小文件成为一个大文件,并覆盖源文件
    [/ol]
    听上去很完美,我就同意让 Windsurf 放手去干了。不得不说,Windsurf 的自动化做得还不错,而且还可以自我检查和自我纠错,一会功夫就自己生成了一大堆文件。但是翻译完我才发现有的字符串并没有翻译(只是把英文翻译复制了过来),有的字符串是瞎翻译的(长度明显不对)。反复弄了两次还是没有完全搞定,最后还是结合了一个叫 StringCatalogTranslator 的 Mac app 才弄完。
    花了一下午,对话无数次,我还真不如直接付费使用 String Catalog 了。
    极简日记 iOS
    这周极简日记提交了两个版本,Windsurf 这一次功不可没。
    周四提交的版本 1.8.8 ,提高了滚动性能。本来我是想要 iOS 17 新加入的关于 ScrollView 的新特性来优化整个日记列表的滚动性能,为此我把 app 的 minimum deployments 提高到了 iOS 17.0 ,但是最后发现要想完美实现左右滑动和上下滑动不冲突而且按页滚动的话,必须用到 iOS 18 的新 API 才行……最后 Windsurf 还是通过 DragGesture 和 Offset 来完美实现了。
    周日提交了的版本 1.8.9 ,提高了图片加载的性能。一直关注我的周记的读者可能知道,图片加载一直是极简日记的一个顽疾,我做了很多次的优化了,但是一直没有彻底解决。这一次受# Persistence Image Caching SwiftUI这个视频启发,给极简日记里的图片加载加入了缓存机制,大幅提高了图片显示的速度。
    (就在我写到这的时候,我才发现新加入的 Core Data Entity 没有部署到生产环境……好久都没更改过 Core Data 结构了,都生疏了)
    改善工作流
    之前每次发新版本,app 内的 changelog 和 Connect 后台里的 release note 我都要反复切换各种语言和网页去复制粘贴,这次我让 Windsurf 解决了这个问题。fastlane 可以直接提交多语言的 release note 到 Connect ,我又让 app 内的 changelog 根据系统语言直接读取对应的本地化字符串,这样就只需要维护各个语言的本地化字符串就可以了,省去了很多人工工作。Windsurf 虽然不善于大量文本的本地化,但是翻译更新日志这点文字还是绰绰有余的。
    但是 fastlane 这里遇到了证书方面的问题,花了一晚上才解决。编译和打包都没问题,但是总是在上传到 App Store 这一步出错,通过反复撤销和生成证书我才发现问题出现在,fastlane 用的还是我之前的个人账户的证书,而我现在是组织账号了,需要重新生成所有的 cert 和 profile 。
    另外,我也尝试用 Windsurf 直接进行 git 操作。我的想法是让它根据最近的更改内容直接总结出 commit message 然后提交,但是每次它都会先执行 git status ,然后 git diff ,最后 git commit ,每一步都需要我手动确认一下,这还不如我自己直接提交了啊。

    微信红包封面
    微信给了 6000 个红包封面额度,我上周就尝试用豆包 AI 生成一个,但是被拒绝了,让我提交著作权证明。我还以为微信打击 AI 生图,但是后来看到很多人也都用 AI 生图通过了微信的审核,我就在病房里在手机上又搞了一晚上,反复生成了好几版,选择了一个比较简单的还不错的版本提交了,终于过审了,分享给大家,祝大家新春快乐,蛇年大吉!
    红包封面需要到这篇文章的公众号里面领取,也欢迎大家关注我的公众号。
    独立开发不易,但道哥飞蛾投烛。
    感谢各位支持,助道哥飞黄腾达。
    欢迎赏脸阅读我的独立开发周记,如果你觉得这一篇写得还不错的话,以下回应会令我无比开心,开了又开:
  • 点赞,开心一晚 😉
  • 在看,开心一天 😁
  • 分享,开心三天 😆
  • 赞赏,开心一周 😘

    也欢迎大家能与我交流关于独立开发的一切,更欢迎大家下载使用我的 App😄。
  • 极简时钟,极简主义的翻页时钟、番茄钟和正计时
  • 极简日记,用时间轴随手记录生活
  • 极简便签,支持 Markdown ,自定义分享图片,多种主题和布局
  • Nut Goals,像小松鼠一样记账、存钱、管理愿望清单

  • 您需要登录后才可以回帖 登录 | 立即注册

    返回顶部