春节自学了 SwiftUI 7 天,今天终于上架了第一款 iOS APP,分享一下过程

2022-02-16 11:32:46 +08:00
 graetdk
开发这个 APP 的起因是去年有一段时间我时不时会得口腔溃疡,我想记录一下,我口腔溃疡的发作频率和每次持续的时间,一开始是用备忘录,但记录起来很麻烦,所以我有了想做这样一个记录 APP 的想法

坦白说我 17 年就准备学一下 iOS 开发,但是拖延了,19 年再次想学,甚至都买了苹果开发者资格,但。。还是拖延了,今年是第三次,这次我选了春节,这样时间比较充裕,每天差不多 3-4 个小时,通过苹果官方的教程和斯坦福 cs193p 公开课(白胡子大爷讲的那个),基本了解了 swiftUI 和 MVVM 的思维,总的来说,对我来说是很大的挑战,因为我之前的经验偏后端,很多东西完全是新的

春节结束之后我每天继续花 2-3 个小时写这个 APP ,因为太菜,踩了很多坑,真正写 UI 和逻辑的时间其实不多,大量的时间花在踩坑和找解决方案上面了,但这个过程也很有乐趣,以至于我缩减了很多在大表哥 OL 里玩德州扑克的时间

最终的 APP 是这样:





你可以设置一些追踪项,例如口腔溃疡,喝咖啡,流鼻血,有心动的感觉等等等等,然后在其发生的时候很快记录一下,此后就可以通过一个 GitHub commit log 风格的图表看到其发生频率和趋势,也能看到你的历史记录

整个 APP 不向除了苹果官方之外的任何服务器发送数据,我没有后端服务器,也没有使用任何第三方统计,广告代码什么的,记录数据也只保留在你的本地和 iCloud 文稿,并且支持导出导入,总之安全隐私应该没得说。


作为我的第一个 iOS 作品,不得不承认,还有很多因为我技术不足而未完成的细节,但我之后会继续慢慢打磨,争取做成一个精致的小工具


APP 名字叫 Becord ,直接在 App Store 搜可能搜不到,可以搜 Becord 元记录,也可以直接通过链接获取: https://apps.apple.com/cn/app/becord/id1608773156


另外附上我学习的资源:
Apple 官方开发者教程: https://developer.apple.com/tutorials/app-dev-training/getting-started-with-scrumdinger
斯坦福公开课: https://cs193p.sites.stanford.edu/
16455 次点击
所在节点    分享创造
122 条回复
Hequndev
2022-02-16 12:14:03 +08:00
UI 真挺好看的,看了一下版本要求 IOS15.晚点试用看看。
Pazakui1259
2022-02-16 12:17:50 +08:00
花了点时间试了试您的 App ,发现了一些问题,希望能在细节上继续优化:
1. 免费版我能添加 3 个另外的 track ,加上默认的 3 个我就有 6 个了,超出了免费版我能用的 5 个。
2. 很多英语翻译不是很通顺,大小写没有正确使用,中间用了很多中文标点,结尾没有句号等。比如主界面的提示那里。
3. Set Track 那里的 section 的 header 希望能变成 footer ,明明是解释用的语句。
4. 主页的设置按钮可不可以改成 ToolbarItem(placement: .primaryAction)直接放在标题右边?
5. 内购的那个 Sheet 好像 ScrollView 前面还套了一层别的 view ,导致白色边框,而且没有关闭按钮,英文的文案也有打错,trail➡️trial 。
6. 希望所有的 picker 样式都能.pickerStyle(MenuPickerStyle()),默认的打开另一个页面的样式跳跃感很大不是很美观。
7. 添加 record 的加号和别的按钮都太靠近了。希望也能和上面那个主页设置按钮一样直接变成 ToobarItem ,编辑和分享可以放在屏幕下面。
8. 希望能支持 Application Shortcut ,就是能在桌面长按图标进行快捷操作,比如快速给某个 track 添加 record 。
9. 没有对无障碍进行优化,旁白情况下完全无法正常使用 App 。
Borden
2022-02-16 12:20:19 +08:00
楼主你那个大方块和小点点是用的 LazyGrid 么?我找不到一个定行定列的非 Lazy 的 grid view ,好难受
chiaf
2022-02-16 12:21:39 +08:00
@qq316107934 教程也可以下载 raywenderlich 上面的书籍,有两种,一个学徒级的,还有一个 tutorial
《 SwiftUI Apprentice 》,《 SwiftUI by Tutorials 》
graetdk
2022-02-16 12:21:41 +08:00
@Pazakui1259 感谢!你提到的一些是我已经知道并且准备下个版本改的,有些是我真没想到的,我之后会更新的~
MakHoCheung
2022-02-16 12:33:33 +08:00
我 7 天 Swift 都没学完
xz410236056
2022-02-16 13:28:52 +08:00
swiftUI 现在很多功能还不完善(也有方便的地方),比 UIKit 功能少很多,storyboard Xib 也很方便。当玩具学习还行,项目上不太好用。
codespots
2022-02-16 13:36:53 +08:00
dk 的执行力好强啊
nl101531
2022-02-16 13:44:43 +08:00
666 ,这个软件很有用
graetdk
2022-02-16 13:45:18 +08:00
@MakHoCheung 我也没学完,就能用的先学着
Immortal
2022-02-16 13:46:33 +08:00
问个题外话
如果想搜索类似斯坦福等大学的优秀课程,能在什么地方看到课程列表或者怎么个搜索姿势?
直接在斯坦福等的 youtube 帐号下搜索吗
wwnje
2022-02-16 13:46:55 +08:00
比我棒。。我用了一个月
UI 看起来很简洁
wwnje
2022-02-16 13:48:06 +08:00
graetdk
2022-02-16 13:49:10 +08:00
@Immortal YouTube 有,B 站也有搬运的
Immortal
2022-02-16 13:49:57 +08:00
@wwnje #33
谢谢
不过我指的是类似的 比如我想学其他方面的东西 想优先搜索优秀大学的课程 不一定是 swift
caisanli
2022-02-16 13:51:35 +08:00
还是要有英文基础才能学
没有找到好的中文教程
要不就是太旧
Immortal
2022-02-16 13:51:55 +08:00
在知乎找到一个列表
https://zhuanlan.zhihu.com/p/391591909
qq73666
2022-02-16 13:53:36 +08:00
iOS15 以上?😓
crs0910
2022-02-16 14:00:57 +08:00
有 bug ,我添加了一项「跳绳」追踪,然后编辑默认追踪里面的 「 Emotions 」 新加了两个选项,保存之后发现「跳绳」被新的 「 Emotions 」覆盖了。原来的「 Emotions 」还在。
环境:m1 mac
FightPig
2022-02-16 14:03:16 +08:00
lz 执行能力很强啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/834180

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX