DevLog:2025年7月16日

1、了解了下Cursor的订阅,虽然默认的Auto模式已经足以满足我的需求,但马上两周的免费试用期就要结束了,到时看看功能上有什么变化,如果功能严重受限,考虑订阅Cursor Pro,目前可以用支付宝支付
2、Cursor具备Agent、Ask、Manual、Background四种编程方式,可以根据需求选择,模型方面,Auto模式由Cursor根据任务类型和复杂程度自动判断使用哪个模型,也可以关闭Auto模式,指定模型
3、NoteWith和ChatWith由于涉及接入AI大模型,在上架时可能需要先备案,但备案手续复杂且审核时间长,考虑开发一款不需要进行备案的App
4、赶在Cursor的Pro试用过期之前,让Cursor再帮我开发一个新应用,吸取之前的教训,这次在一开始就提出了尽量详细的需求:
1.iOS平台,应用名称为DoitWith,采用SwiftUI开发
2.应用启动界面以墨绿色为底色,启动界面显示应用名DoitWith,下方一行为副标题“Todo and Note, in one App.”
3.应用界面分为Today、Todo、Note共三个tab,可在底部点击切换,三个tab的右上角都有加号和齿轮图标,Todo界面点加号可选择创建新Todo或创建新分组,笔记界面点加号可以创建新笔记,点击齿轮进入设置界面,Today列表、Todo列表和笔记列表的设计要足够简洁且风格一致一些
4.Today界面列出今天到期的Todo项目,可以长按每条Todo进行完成、重命名、修改、删除等操作
5.Todo界面可以自行设置组(默认有工作、生活两个分组,各有一条示例Todo)、可设置提醒时间,任务过期时文字变红并在文字前添加警告emoji,每条Todo都可以通过长按进行完成、重命名、修改、删除等操作,可将Todo在不同分组间拖动
6.笔记界面默认显示笔记列表,点击创建笔记按钮或笔记列表页右上角加号可创建笔记,采用富文本编辑器,支持常用的文字格式设置,选中文字后即可在底部调节格式
7.设置界面可查看Todo和Note的数量
8.采用你推荐的数据存储方式
5、Cursor对我的需求进行细化和明确,给出了技术选型与架构建议:
-UI 框架:SwiftUI(官方推荐,现代、易维护)
-数据存储:推荐使用 Core Data(苹果官方,适合本地结构化数据,支持分组、提醒、富文本等需求)
-富文本编辑:使用 SwiftUI + NSAttributedString,或集成第三方如 TextEditorPlus(如需更强大功能)
-本地通知:用于 Todo 提醒
-MVVM 架构:便于维护和扩展
以及任务拆解:
-项目初始化与启动页开发
-TabView 主界面搭建
-Today、Todo、Note 三个 Tab 的基本结构
-加号与齿轮按钮功能实现
-Todo 分组、拖动、提醒、过期样式
-Note 富文本编辑器集成
-设置界面开发
-数据存储(Core Data)建模与集成
-本地通知集成
-UI 优化与风格统一
6、Cursor让我在 Xcode 里手动新建一个 SwiftUI iOS App(建议命名为“DoitWith”,语言选择 Swift,生命周期选择 SwiftUI App,勾选“Use Core Data”),之后再进行后续操作
7、在Cursor创建应用的过程中,有两次需要我手动创建NSManagedObject Subclass,昨天在修改NoteWith时也出现了这种情况,猜测可能是因为在数据存储方面采用了Core Data
8、在集成富文本编辑器时,Cursor建议我使用RichTextKit的包管理集成,且Cursor无法自行完成这一操作,需要我在Xcode中Add Packages,集成RichTextKit,但我个人不太喜欢这种功能较为复杂的三方库,于是询问Cursor:有没有iOS自带的组件可以实现类似需求?我对这个编辑器的功能要求不是很高
9、Cursor推荐使用UIKit的UITextViews实现基础富文本编辑,然后通过UIViewRepresentable桥接到SwiftUI,这样无需引入第三方库,且兼容性和性能都很好
10、Cursor在创建完成后提示构建成功,但再次出现了昨天NoteWith的问题“可能有重复的NSManagedObject子类文件,或者Xcode项目引用了同一份文件的多份引用”,明天再看怎么解决