DevLog:2025年12月9日

1、昨天在使用Flutter重写ChatWith时,一直无法成功构建,即使用Cursor提供的终端命令也无法打开应用,同时在修改过程中,Cursor给我创建了大量的.md说明文档和.sh安装脚本文件,只是在告诉我应该怎么做,而不是像之前那样直接进行修改

2、打开一个新对话,再让Cursor继续修复Xcode报的问题,并且看看这些.md和.sh文件是否有必要保留,于是询问Cursor:我之前用Flutter重写了这个应用,但一直构建失败,提示:Command PhaseScriptExecution failed with a nonzero exit code,并且在重写过程中,文件夹里多了很多.md和.sh文件,这些文件是否可以删除?

3、Cursor修复了构建失败的问题,认为构建失败不是因为PhaseScriptExecution脚本问题,而是代码编译错误,包括Message类问题、CardTheme类型错误、类型声明错误、缺少导入等,然后清理了.md和.sh文件共23个,然后在Xcode中尝试构建,竟然真的构建成功了

4、但是出现了很多的错误提示,基本都是Stale file ‘/Users/jinlei.wu/Documents/GitHub/ChatWith/chatwith_flutter/build/ios/Debug-iphonesimulator’ is located outside of the allowed root paths.,看这个提示信息,像是这个文件的路径错误?Clean Build Folder后解决,并且可以成功构建

5、决定让Cursor删掉/Users/jinlei.wu/Documents/GitHub/ChatWith/目录下使用Swift原生构建的应用,只保留使用Flutter构建的应用

6、继续构建并测试功能,首先就是点击右上角的设置按钮,设置界面里是空白的,提示“错误:Exception: SharedPreferences not initialized”,所以也没有办法添加模型,测试对话等一系列功能,Cursor认为问题原因在于preferencesStorageProvider是同步provider,但依赖异步的sharedPreferencesProvider,当SharedPreferences尚未初始化时,preferencesStorageProvider会抛出“SharedPreferences not initialized”异常,修复之后重新生成了代码,现在可以看到设置界面了,以后再添加模型试试能否正常使用

7、这几次构建测试,总觉得应用启动速度好慢,后面还需要给应用增加多模型管理和切换、联网搜索、回收站、深度思考、流式输出、Markdown渲染等功能,又是一个不断增加功能、测试功能的过程