独立开发周记 76:失败固然可怕,但朋友的成功更令人揪心

14次阅读

共计 2400 个字符,预计需要花费 6 分钟才能阅读完成。

2024,0722-0728

一不留神,开发者群内的一个群友的产品爆了,日活 20W+,而且还在增长。于是群里其他众多群友纷纷发出了表情包:
独立开发周记 76:失败固然可怕,但朋友的成功更令人揪心

本周开发

极简日记

本来是想修一下用户反馈的 bug,但是发现 backlog 里一个存了很久的功能感觉优先级更高一些,就是“左右滑动切换日期”。要实现这个功能就要打破之前的很多交互,比如每一条日记左划后出现操作按钮,比如拖动底部按钮出现跳转日期的按钮。

一开始是用 GeometryReader + DragGesture 来实现的,Claude 和 ChatGPT 都没能给出完美的实现。后来改用 TabView,交互上没什么问题,只是有一定概率会在左右滑动的时候卡在两个 Page 中间,搜了一圈问了一圈都没找到遇到类似问题的,也没找到解决方法。最后还是在 Github 上找到一个实现的不错的 package,但是这个 package 的要求是 iOS 16.4+,而且如果 Page 里是 ScrollView 的话还不能上下滑动,只好魔改了一下,基本可用了。

但是还有几个问题,预览不出现,内存占用,页面卡顿,sheet 乱弹……再加上还没解决的用户反馈的 bug,感觉这一个星期也做不完。

其他

极简时钟的 App 内活动结束了,综合之前的几次,这个 App 内活动对于我来说实在是没啥用处。
独立开发周记 76:失败固然可怕,但朋友的成功更令人揪心

Heal Clock 按照 GP 要求更新了订阅页面,提交后又被拒了,说是有闪退,但是我这边测试都没能复现,只好先提交一个内部测试,看测试报告没问题了才有提交,但是提交后每几分钟又被拒了,还是订阅页面的问题。这是我被拒最多的一个 App 了,太难了。

新 App 只写了一天,还在写 CRUD,在群友的帮助下搞定了一个 SwiftData 的 Predicate 不支持 enum 的问题,也搞定了一个困扰已久的一个数据结构。

本周学习

Play: The Secret Weapon for iOS Devs & Designers
一个叫做「Play」的原型设计工具的宣传视频,这个工具的目的就是统一设计师和开发者对 SwiftUI 的理解,其实更多的是让设计师去按照 SwiftUI 的设计规范和能力范围去做原型。这个工具不仅可以做出高保真的交互演示,还可以导出 SwiftUI 代码,给开发者和设计师省去了很多反复撕逼和返工的时间。

独立开发周记 76:失败固然可怕,但朋友的成功更令人揪心

Swift Macros 101: Your Step-by-Step Guide To Crafting Your First Macro!
针对 Swift 中 Macro 的简介,并且演示了如何新建一个将十进制数字转换成二进制的例子,看起来很麻烦啊。

独立开发周记 76:失败固然可怕,但朋友的成功更令人揪心

几个常见的关于 SwiftUI 的误解
肘子哥的文章每篇必读,准备采用文章里的建议对项目进行一些优化。

From Idea to App Store: One Week in a Coding Retreat

这个开发者记录了自己是如何在山林的静修小木屋里(荒无人烟的地方,像是自我封闭开发),在 7 天内构思、开发并上架 App Store 一款记录音频的 App。

  • Day 1,用不到 10 行代码,在 Jupyter 上通过 Wisper 实现了语音转文字的 demo,验证了自己的想法,没有画原型,也没有写其他代码
  • Day 2,原型设计,技术栈确定为 Flutter+Supabase(开发者自称不太了解),开始写代码,完成了将音频文件传输到后端的 API
  • Day 3,开始写 App,因为 flutter 的一个久未更新的 library,花了很多时间在解决音频文件的格式上,心情很糟,但是立志要在睡觉前解决,于是更换了 library,重写了大量的代码,最终跑通了 demo,可以将音频文件上传到后端、成功转成文字、生成总结和存储
  • Day 4,写 UI,开发者自称最喜欢写 UI,只需要一个屏幕接着一个屏幕实现原型就可以了
  • Day 5,给 App 的 UI 加上核心功能,用 MJ 生成了一个 App icon,实现了用户的注册和登录,完成了 MVP
  • Day 6,实现剩余的边角料功能,因为跨平台的问题卡住了半天,晚上 19:50 完成了 final demo,但还是有些小问题和小功能没有解决
  • Day 7,上架 App Store,但是过程没有更详细的说明,毕竟上架工作也有很多,而且是否是一次就通过审核上架也没有说,但总之是最终上架了。

看这个视频,我最开心也是最感同身受的就是第三天,这个开发者当时十分沮丧,但是到了晚上等到跑通的那一刻,所有压力和苦闷都烟消云散了。

独立开发周记 76:失败固然可怕,但朋友的成功更令人揪心

Build performance analysis for speeding up Xcode builds
这一招我才学会,通过分析可以知道项目的编译时间都花在哪了。

独立开发周记 76:失败固然可怕,但朋友的成功更令人揪心

本周买买买

这周买了三样东西,一个可升降的边桌,一个米家的吸管杯,在多抓鱼上花 100 元买的 5 本书。

重点说一下这个边桌。我家没有茶几,每次吃饭的时候必须坐在饭桌上,电子榨菜只能靠手机或者平板来播放。我一直想给沙发买一个边桌,这样我既可以一边吃喝一边看电视,还可以坐在沙发上操作连着电视的电脑。最近天气越来越热了,我的电脑桌挨着阳面的窗台,空调还吹不到,加上两个外接显示器散发的热量,导致白天在电脑桌上写代码太痛苦了。到了晚上,因为孩子的屋子要开门通风,她还要求所有灯光和屏幕都要关闭,这时我就不能在电脑桌上办公了。所以,我需要一个可以移动的小桌子解决我以上的问题。

挑了好久,最终确定的桌子功能是可移动 + 可升降。一开始相中的就是宜家的一款,但是我这没有宜家,算上邮费并不合算。在寻找平替的过程中,发现了网易严选的一款,和宜家同样的价格,还多了桌面旋转的功能,而且还包邮,于是立刻下单了。没想到收到货并组装完后,发现桌面不平,就是那个旋转的组件造成的,立刻退款退货了。这个桌面旋转其实还挺有用的,比如我最近在学尤克里里,用来放曲谱就特别合适。但是保险起见,还是放弃了桌面旋转,下单了乐歌的这一款,选择这一款有两个非常重要的理由,一是纯白色,二是这一款的最低高度和宜家同样是 65cm,更适合我家的场景,而其他品牌最低高度都在 70cm 以上。

独立开发周记 76:失败固然可怕,但朋友的成功更令人揪心

正文完
 0