春节花了7天学习 SwiftUI 后,我上架了人生第一款 iOS APP,并获得了AppStore编辑推荐

大概 2020 年中旬的时候,我有那么几个月,时不时就会长口腔溃疡,我上网搜了一下,发现有口腔癌这种东西,这搞得我有点提心吊胆,于是萌生了学习 iOS 开发的想法。

这里面的思考是这样,我希望记录我每次长口腔溃疡的发生,以及每一次持续的时间,这样一段时间后,我就知道其频率是否异于常人,是否真的有可能是口腔癌,需不需要去医院看,但是我发现市场上并没有这样的记录工具。

一些虽然能部分满足需求,但过于复杂,试图培养我的「习惯」,甚至还带有记账和日记,另一些虽然功能上类似,但却是记录喝水,排便,甚至性生活的,并不支持我的这种记录,最后我只能使用系统备忘录以非常繁琐的方式去记录,当时我认为,我应当做这样一个App,来更好,更方便的做这种记录。

我花了一些时间,试图判断我应该学习 Object-C,SwiftUI,ReactNative,还是 Flutter,这几个语言都各有优劣,我实在难以抉择,最后选择了放弃。

2021 年我时不时也会涌现出要开发一个自己的 App 的想法,但那个时候我不再长口腔溃疡了,而杂事亦多,所以总是不断拖延,直到今年春节,我下定决心,要在春节期间好好学习一下iOS,并开发出我的第一个App。

在语言上,我不再拖泥带水,拍脑袋选了 SwiftUI,此前的尝试虽一事无成,但好歹让我筛选出一些好的教程,斯坦福的公开课 cs193p 素有好评,2021年更新了 swiftUI 版本,可以说是最佳的入门教程,于此同时,我还找到了苹果官方出的 swiftUI 教程,这个教程图文代码并茂,手把手教你写一个足够上架标准的优质 App。

我大概罗列了一个 7 天的学习计划,每天 5 个小时——看两节公开课,同时根据苹果官方教程写两个小节,这个安排是有盈余的,我早上大概九点半起床,早上花 2 个小时,然后去超市买菜,再回家吃饭,到下午6点就足够了,晚上的时间我都预留给了荒野大镖客2,那段时间我挺爱在里面打德州。

第三天的时候我发现时间不够用了,因为我开始写自己的App,对新语言的热情极度高涨,以至于我完全砍掉了玩荒野大镖客的时间,从白天到夜晚,我都枯坐在电脑前,像探索一个神奇又隐秘的世界,一点点摸清 swiftUI 的面貌。

我的这个 App,灵感依然来自 2 年前的那些口腔溃疡,我将它称之为「元记录」工具,因为你可以用来记录任何时不时会发生,同时又让你在意的事情,而不仅仅是喝水,拉屎,大姨妈,取名字是很头疼的一件事,我想的很多好名字都被人用了,最后我决定叫它 Becord

每次喝咖啡,每次熬夜,每次极度开心极度难过,又或者是每次产生心动的感觉,每次感冒,每次流鼻血,每次长痘,以及每次口腔溃疡,你都可以快速方便的一点就记录,然后在某个时刻,以一种新的视角看到它们发生的频率以及趋势,从而能够,或者我希望能够,去做一些改善,调整和优化。

春节过完之后,我继续每天花几个小时完成我的 App,其实我公开课还没有看完,我只看了大约一半,但这足够完成一个不复杂的 App 了,一些教程和公开课之外的东西,例如内购,iCloud 使用,多语言等,则是通过网上的其他博文和视频学习的,我发现目前中文世界里的 swiftUI 资料极少,一手资料目前几乎都是英文的,还有部分是日文,但即便是日文,借助Google翻译,其实也很好看懂。

2月14日,我觉得差不多了,于是向苹果商店提交了第一个版本,这个版本只有 1.7 M,对习惯了几十几百M App 的我来说,这个体积让我有一点震惊,同时我对那些体积巨大的 App 更难以理解了,它们到底放了多少东西进去?

很快苹果商店有了反馈,我的提交被驳回了,原因是对内购的描述不够清晰,我查阅了官方指引,并按照它的要求重新优化了页面,然后再次提交,2月16日,审核通过,我的第一款 App 上架了。

我是从初三的那个暑假开始学习写代码的,那已经是 13 年前的事了,我做过一些 Windows 桌面程序,小外挂,甚至试图(但未成功)做过 RPG 游戏,网站则更是数不清了,但移动客户端,这是头一次,曾经很长时间,新做出来一个什么东西,已经不会给我带来强烈的成就感了,但这一次,这种感觉又回来了,它似乎在我耳边说,你还能继续写代码,你还能创造出新的东西。

作为一名创业者,我其实很早前就没有必要非要自己去写什么代码了,这样做甚至违背了创业圈的一些共识,我们公司也有专职的 iOS 开发同学,但我确实是忍不住,我忍不住去探索新的语言,框架,思维,并自己亲手创造出一些东西,这是我难以割舍的爱好,也是我生活的最重要的乐趣来源。

2月18日早上,一个朋友发了一张截图给我,在这张图里,Becord 上了编辑精选的推荐,我后来了解到,这个位置其实给 App 带来的曝光非常有限,但我依然大受鼓励,并接连更新了一些新功能。

直到现在,我其实依然很菜,由于开工之后的杂乱的工作,我也还没能看完所有的 cs193p 公开课,但毫无疑问,我用 7 天时间,半只脚踏入了一个对我来说崭新又有趣的世界,我脑子不算多灵光,假如我可以,那么我认为绝大部分人应该也可以做到,需要的可能只是一段整块的时间,一点热情以及好奇心。

虽然这么说有点虚伪,但是我真不指望能这样的小产品能赚多少钱,我更希望我能财富自由之后再来写这些App,这样会显得更有说服力,我也更能投入,但没有办法,财富自由是一件遥远而渺茫的事情,而创作则是现在就可以开始的,那么,就从现在开始吧。

如果你搜Becord,可能搜不到结果,因为App Store会以为你搜的是Record,所以你可以搜索 Becrod元记录,或者点击这个链接获取

10 个赞

哇塞 大佬 呜呜呜 以及终于有一个学习swift的流程图了,之前接触过两次ipad上的playground,但还是感觉有点简单,现在终于有明确的视频教程之指点了!!!感谢感谢

花了x天学习xx语言

看到这样的标题我都猜到必然是有其他语言的学习使用经历的……不然是做不到的

1 个赞

我之前有后端的经验,但学 swiftUI 的时候发现,基本都用不上,它从底层到思维完全是新的,所以我一度认为没有别的经验的人可能会更快上手,因为没有先入为主的固定思维

UI 是楼主自己设计的吗?品味不错
另外有点好奇这种小品 app 怎么设计内购,是免费只能记录有限次数?

对的,限制了追踪项和记录条数,1.99美金/年,看能不能赚回苹果开发者的699年费

1 个赞

登科我有个小建议,Becord 打开的时候似乎会闪现你默认的那三组记录(感冒熬夜喝咖啡),如果速度快看不见还好,有一次我手机比较慢,这三个默认的显示了好几秒,我以为我的记录都没有了,当时想立马卸载的

代码是最简单的,产品和UI设计才是重点

收到,我最近也注意到这个问题了,下个版本改进一下,加一个loading的

我刚收藏了cs193p没几天,你就发了这篇文章,现在大数据已经学会预知未来了 :dog:

日文的资料确实可以。我有不少 C# 开发的技巧都是看日文学来的。日文的网站,排版上更舒服些,而英文的网站,更多的是大段文本,较少考虑排版上的舒适。

我也曾經在自學了ahk半個月之後上架了我的第一個軟件「xx併擊」。

这个思路下去,其实多两款肯定就可以了。能被编辑推荐挺难得吧。

我也想学会一下软件开发和数据库使用,那怕是学点皮毛简单一点
的,能入门慢慢学习也行,就是没有基础,小学经历

现在学习的渠道还是挺多的吧,可以去B站看看,应该有相应的视频。

我看可以,以前以为都是二次元,不看这东西,今天突然在群里看到一个视频,讲的不错,上边是B站的水印,结果就上去看了一下,还是可以学不少东西的