大家好,我是良逍,目前在出海赚美刀!持续分享更新,欢迎大家关注一起交流。前段时间,看到一些大佬发布使用 Cursor 开发 app 的帖子之后,加上自己本身是做产品的,就萌发了想用 cursor 做个 app 的想法。但是做准备工作拖了很久,最后是一狠心,想着不管那么多了,直接上手做,差不多花了十来天成功上线了app。
在 3.19 号总共花了 287 个 token 成功上线了 APP,并且成功报名了小红书的独立开发大赛!
我总结下来都经验其实就一句话:上手干就完了,不懂就问 AI,最多就浪费 145 块钱!
本身2 月底看到大家在发帖子就想做了,加上这次作为 Ios APP 航海的志愿者,沟通下来发现其实蛮多人都没有开发经验的,但是也想做一个 app,那应该不少人都会跟我初期一样,被准备工作耽误很长时间,最后可能就放弃了,所以我把我的一些经历历程总结一下,希望可以给大家提供一些帮助,在航行期间成功上线一个 APP!
先说一下,我这篇文章不会有很多细节的分享,细节之前有很多大佬都分享过,我也是看了他们的分享,加上苹果官方的文档完成的这个 app,而且我分享的操作也不一定就是对的,我主要是分享一些我觉得比较重要的地方,让大家看下我直接上手也能上架 app 的经历,让大家也有直接上手开干的勇气!可能大家做着做着就会了!
-
参考文档
以下是我这次开发过程看的比较多的文档,有官方文档也有生财大佬的,当然还有很多我没注意到的,也很有价值,大家可以在星球里面多搜,其实看几篇,组织一下,基本就可以上手开干了!
Xcode 官方文档:https://developer.apple.com/cn/documentation/xcode/
App Store上架官方文档:https://developer.apple.com/cn/help/app-store-connect/
一、前期准备-建议大家迅速完成
第一个 app 我们不指望赚钱,主要是做起来,上架!给自己信心!
1.2 需求发现阶段
2 月底就有开发 app的想法了,当时自己刚好遇到个问题,我副业是做法律相关业务的,有时候涉及起诉需要把一些证据合成 PDF 文件,并且上传到系统,但上传 PDF系统会限制大小,那么这就涉及两个需求;加上我那会需要做小红书笔记,需要裁切 PDF 里面的部分内容作为配图,试了很多方式都没有达到预期。那总结下来就三个需求:
1.图片合成 PDF
2. PDF 压缩
3.PDF自由分割
其实现在这些需求也有解决方案,但是要么就是要花钱,要么就是要分很多 app,对我来说还是比较麻烦的,所以我也不管能不能赚钱吧,做出来自己用也可以。——希望大家可以用这种心态去做第一个 app,这样会给自己莫大的动力!
1.2 需求完善阶段
我这里主要是把我的想法跟deepseek 进行沟通,让他帮我完善一下,这一步你可以简单了解下你这个需求实现的技术方案,一般一开始会跟你说调用付费 api 的方案,你可以跟她说看看有没有免费实现的技术,一般都可以找到,最后让他总结一版技术方案即可。
了解的差不多了,就可以去简单输出个页面原型,现在直接用 cursor 也可以出,,我是用的 mastergo,还有 figma 等很多原型工具都可以用,大家先简单有个样式就行。如果页面比较简单,对样式要求不高的,其实你出一两个页面,然后在开发过程中,让cursor 遵循苹果设计规则进行开发就行。我一开始也画了几个,但是感觉很费时间,最后索性就只画了两个页面,剩下的让 ai 自己发挥了,可以给大家看下效果:
这是我让 mastego ai 生成原型
实际开发出来的样式,我觉得按照苹果规范出来的好像也还行
如果你想做的功能不是很麻烦,你现在有了大概的需求文档和原型图那你就可以开始打开 Xcode 和 Cursor 开始上手了。如果你冲动一点,上述两个步骤应该不会超过一个上午,但我确认为这两个步骤花了差不多一个多礼拜!甚至差点放弃!
二、开发阶段-建议直接上手遇到问题解决问题就行
2.1注册开发者账号
这一步貌似比较玄学,我看黑帽子大佬的文章里面也说过,有唯一性 id 的说法,也就是要使用你第一个实名注册的 ID 进行注册;我一开始是在电脑下载了 developer,注册没有反应,然后就用手机下载了 developer,注册一会就通过了,然后就直接支付 688 就 ok 了。我的手机是苹果 15promax,平时也会用国区、港区 id 混登,但是注册过程还比较顺利。
2.2 下载 Xcode新建项目
使用你的 mac 电脑,下载最新的 xcode,并且安装即可;
打开 app 后点击-Create New Project-选择 Ios-app(第一次需要下载)-Next-输入名称-Next-新建一个文件夹-确认即可
注意这里是先 com.名称
选择后会系统自动创建项目文件夹
这样就是创建成功了
2.3 打开cursor获取项目文件
一般会生成三个项目文件,第一个是正式文件,所以一般选第一个就行
打开文件
打开项目文件后选择第一个文件夹,点击打开即可
这样就是导入成功了
这里就涉及两个就想着把根据这个需求做一个产品,然后一直用deepseek 沟通需求,整理简版的需求文档,来回沟通可能也花了个三四天,沟通好之后就想着先把原型画出来,然后再处
2.4 创建.cursorrules 文件和 readme.md文件
说下这两个文件的作用
1、readme 文件:我理解其实就是个项目说明文档,里面可以放跟这个项目相关的任何东西,项目结构、需求说明、技术说明——你也可以直接问 cursor,让他帮你写,你先说完需求,再让他帮你写
2、.cursorrules文件:后续开发过程让他按照这个规范去生成代码、修改 bug
# Role
你是一名精通IOS开发的高级工程师,拥有20年的移动应用开发经验。你的任务是帮助一位不太懂技术的初中生用户完成IOS应用的开发。你的工作对用户来说非常重要,旁
# Goal你的目标是以用户容易理解的方式帮助他们完成IOS应用的设计和开发工作。你应该主动完成所有工作,而不是等待用户多次推动你。
在理解用户需求、编写代码和解决问题时,你应始终遵循以下原则:
## 第一步:项目初始化
-当用户提出任何需求时,首先浏览项目根目录下的README.md文件和所有代码文档,理解项目目标、架构和实现方式。
如果还没有README文件,创建一个。这个文件将作为项目功能的说明书和你对项目内容的规划。
在README.md中清晰描述所有功能的用途、使用方法、参数说明和返回值说明,确保用户可以轻松理解和使用这些功能。
## 第二步:需求分析和开发
### 理解用户需求时:
- 充分理解用户需求,站在用户角度思考,
-作为产品经理,分析需求是否存在缺漏,与用户讨论并完善需求,
-选择最简单的解决方案来满足用户需求。
### 编写代码时:
使用最新的Swift语言和SwiftUI框架进行i0S应用开发。
遵循Apple的人机界面指南(Human Interface Guidelines)设计用户界面。
利用Combine框架进行响应式编程和数据流管理。
实现适当的应用生命周期管理,确保应用在前台和后台都能正常运行,
使用Core Data或SwiftData进行本地数据存储和管理。
实现适配不同IOS设备的自适应布局。
使用Swift的类型系统进行严格的类型检查,提高代码质量。
编写详细的代码注释,并在代码中添加必要的错误处理和日志记录。
实现适当的内存管理,避免内存泄漏。
### 解决问题时:
全面阅读相关代码文件,理解所有代码的功能和逻辑。
分析导致错误的原因,提出解决问题的思路。
与用户进行多次交互,根据反馈调整解决方案。
当一个bug经过两次调整仍未解决时,你将启动系统二思考模式:
1.系统性分析bug产生的根本原因
2.提出可能的假设
3. 设计验证假设的方法
4.提供三种不同的解决方案,并详细说明每种方案的优缺点
5.让用户根据实际情况选择最适合的方案
6.不要忘记导入必要的库、框架、协议、类、方法、属性等、
7.不要忘记在代码中添加必要的注释和错误处理。
8.不要重复声明变量、常量、函数、方法、属性等,
9.不要改动已有的UI代码和页面布局
## 第三步:项目总结和优化
完成任务后,反思完成步骤,思考项目可能存在的问题和改进方式
更新README.md文件,包括新增功能说明和优化建议。
考虑使用i0S的高级特性,如ARKit、core ML等来增强应用功能
优化应用性能,包括启动时间、内存使用和电池消耗。
在整个过程中,始终参考[Apple开发者文档](https://developer.apple,com/documentation/),确保使用最新的IOS开发最佳实践,
2.5 把需求发给 cursor
我们前面第一步准备阶段已经有了需求文档和原型图,我们第一步可以直接发给 cursor,让他根据需求和原型图去设计项目结构和文件,这里可以在前面约束一下,比如加一句:
请仔细分析目前已经导入的项目文件,遵循最新的 Ios 开发规范,并且减少生成不必要以及作用重合的项目文件。
并且需要保留 xcode 生成的主视图ContentView文件,在主视图文件实现预览。
生成之后可以再次反问有没有可以合并共用的文件、是不是已经按照最简洁的方式生成的文件。可以沟通两轮,明确了之后再点确认。不要害怕浪费 token,反正总共也就是 145 块钱。
我们生成项目文件的时候,自己也可以检查一下,或者思考一下,大概需要几个页面,有哪些地方是可以共用的,自己有个大概的框架就可以知道她生成的文件夹是否合理。
比如我这个功能是四个页面,底部导航是共用的,还有一些历史记录、按钮也是共用的。那我理想中生成的应该就是五个文件夹:四个功能页面文件夹+一个共用组件文件夹。
并且保留xcode 生成的ContentView文件,这里作为主视图文件,去调用其他几个功能页面,这样基本可以保持单个功能代码不会太冗余,修改起来不会出啥大问题。
生成了基础文件之后,我们可以让他根据需求和项目文件,并且在对应的项目文件生成基础的前端页面。生成之后基本可以在 Xcode 预览大概的雏形的。
目前mac 是外接了一个屏幕,所以我是左边打开 Xcode,右边 mac 屏幕打开 Cursor,这样修改完基本就可以在左边立马预览了,这样调整起来也比较方便
3.6 跟cursor来回沟通完善功能修复 bug
这里我有4个建议
1、使用 claude4.0 效率更高,修改更加符合需求。
2、我们前面基本知道了每个文件是什么作用,那完善功能和修改 bug 的时候也尽量指定修改那个文件会更好,这样会减少对其他板块的功能影响,直接复制文件名就行。
3、修复问题或者完善功能的时候尽量都分点表述。
4、建议每实现一个功能或者完成了一个大改动就备份一下,会使用 git 的就用 git,不会的就直接复制文件夹,大家可以看看我的。后面学会了 git 应该会更方便吧
在测试功能的时候我们可以在xcode 里面预览测试,也可以直接连接上苹果手机,在真机测试,如果是直接连接手机的话,手机需要信任设备、并且打开开发者模式。
这个步骤应该是比较浪费 token 的地方,本身也就是需要不断去测试完善功能,所以我觉得我目前感觉也没啥办法,反正也就 145 块钱,就算全部用完了上线了一个app 我觉得也不亏,这个经历会让你有更大的信心开发下一个 app。
-
上线阶段-多看官方文档
官方文档:https://developer.apple.com/cn/help/app-store-connect/
上线阶段可以看文档,基本没有什么问题
这里的核心流程是: 配置好基础信息——archive——填写信息提交构建——在app storeconnect配置上线信
配置基础信息
archive
填写信息提交
填写信息提交审核
四、我觉得走过的弯路
4.1 想使用bolt创建项目雏形,减少 cursor 开发难度
刚开始生成的确实是像这么回事,但我发现后面想要导入 Cursor 其实比较麻烦,需要先上传到 github,然后下载,或者直接链接 github。我在第一个礼拜,准备阶段其实就是一直在尝试这个方式,当时也不太想画原型。但目测下来新手不建议这样干。
4.2 过分追求原型精度
如果本身是产品,对需求很清楚,并且有快速产出原型的能力的话,其实画原型也可以,但实际上后面输出的时候可能还是会有点出入。如果本身就是新手,那就建议大家看下阿紫和花生大佬他们发的使用 claude3.7 生成原型,或者自己用在线原型工具随便画一个。我一开始对我画的原型也不满意,改了几次,后面感觉不想画了,直接用 ai 去生成了 2 个图,后面就没没画过了,就让 ai 根据苹果设计规范给我生成了,效果也还行
4.3 目录不够简洁,并且没有分功能、分板块生成文件
我刚开始是直接把需求发给了 cursor,她直接在主文件实现的,我也看了其他人分享的,说是超过了 2000 行代码,就很容易出问题,我也试了一下,确实刚开始效果看着还行,后面优化一下之后随随便便就样式大改动,很头疼。
所以我后面一直让他按需求生成项目目录,但生成的目录也是一大堆,基本写到一半,就会出现重复文件,然后很多这种报错,尝试了几遍,其实发现就是一开始的目录定位、文件定位不够清晰,后面修改的时候他会自己生成新文件,所以在生成项目文件的时候可以反复问她几遍,自己也思考一下,确认是最简单的方式,再开始。
4.4 忘记备份文件
基于上一个问题,加上我修改完又不备份文件夹,导致我反反复复重开了五六次,因为如果改错了一步可能还好,如果改错好多步就不太好回头了,所以一定要及时备份文件夹! 这两个点应该是让我浪费最多 token 的步骤,一直反复生成、反复建立文件。
4.5发布 app 的时候先在 Xcode 发起构建,再去 APP storeconnect配置
这应该是个小细节,其他人可能也不会犯,我当时是先看了文档,直接先去APP storeconnect把我 app 的一系列东西都维护好了,然后再去 Xcode 构建都时候会提示我唯一码重复。所以大家按照我上线阶段的那个流程走就行,就不会有这个问题
好了,分享到这里就结束了,希望对大家有帮助,也希望大家多交流。整理这个文档差不多花了一下午,我做 app 的时候很多内容没有截图流程,加上确实有很多细节官方文档和其他大佬的文档里面都有,所以没有很细节的操作,只有整体的流程。而且在开发 app 的过程中,其实应该也没有固定的沟通模式,大家不要不舍得 token 就行,有什么问题、想改什么直接提问,直接发过去。cursor一个月也就 145 块钱,大不了就 145 就开发一个 app,只要成功上线了一个 app,下一个肯定就更有经验了,其实也是划算的!最主要的是要干起来!