5 min read
13 views
技術
macOSCursor
Article

MacApp MovieBox 研發筆記

img

目前最快的 mvp app 完成記錄,4 小時

起因是 我有一塊 2T 的外接 SSD 硬盤,裡面大小存了不少了電影。這個硬盤的傳輸速度還是很快的 平均下來1G 每秒,所以作為影音外置盤很不錯。
平常我會收藏一些會反覆看的電影,以及之前看了好看,然後在週末跟家人一起看的電影,比如一些迪斯尼動畫,名偵探柯南.
但是電影多了,平常都是直接丟進去,沒有管理,時間久了就特別亂,有的時候找個電影也特別麻煩。

於是 萌生了 做個 mac app 來管理的念頭。

mvp 階段

我先用 Xcode 新建了項目,然後用 Cursor 打開,開始 跟 Agent 描述 我的基本功能。
其實 mvp 階段 不需要關心細節。但是要把你 app 的核心功能,以及基本交互給描述清楚。
很快 Cursor 就解決了 mvp 的問題。第一次 build 可能會有些 error, 因為 AI 的知識 覆蓋多個版本的開發方式,所以它 有的時候會串,
在後續溝通過程中 修復 所有 issue 後,mvp 就能穩定運行。
當然 運行起來後 也會有很多問題,比如 “文件訪問權限”

技術名詞

軟件開發過程中其實掌握一些技術名詞挺重要。
sidebar: 側邊欄.
sidebar list: 側邊列表.
main content window:主界面.
swiftData: 數據庫.
folder permission:文件夾權限.
table list: 表格.

之前一直想做個獨立站叫 vibe keywords 主要收集 開發過程中 會用到的一些 關鍵詞,等有時間了嘗試把他沉澱下來

代碼整理

可能第一個小時下來大部分代碼都能跑起來了,也不清楚哪些代碼在哪裡,並且可能一個 文件裡 會超過 500 行代碼,這個時候 AI 在調度的時候會變慢,
這個時候就需要 做一次代碼整理
通常我會 在開發目錄下建立對應的分塊文件夾,主要還是遵循 MVVM 的方式,符合人類閱讀方式。

  • views: 視圖,所有的 UI 界面相關的
  • models:模型
  • viewmodels:視圖模型,鏈接模型和視圖數據的
  • scenes/pages: 場景/頁面,頁面相關的用來聚合 view 和 viewmodels
  • helpers:輔助方法,比如一些 server 以及 一些可以獨立的存放的 helper方法。

我常用的prompt 是 打開需要 整理的頁面 如:

  • help me separate file, into views, make it clearly
  • help me separate logic into models , viewmodels
  • help me separate func into helpers

然後檢查 它 整理的代碼,適當添加一些 註釋
這樣的好處是,你在這個過程中 可以瞭解它大概在做什麼。

一些技術細節

收集一些 mac app 開發的細節

文件讀寫權限: mac app 的限制在規定的幾類如:

  • User Selected File
  • Downloads Folder
  • Picture Folder
  • Music Folder
  • Movies Folder

所以 要開啟對應的之後才可以讀取,
並且 User Selected File 需要保留 類似 Bookmark 的東西來保留 下次讀取的權限,因為 它默認只信任你選擇的文件的權限。
這個很有意思,因為我需要對文件進行 文件屬性讀取,以及文件名修改,所以如果 第二次打開 app 的時候 如果沒有 Bookmark 它會丟失文件的讀寫權限,有點類似 “熟人”的概念,告訴它上次已經允許過了 🤣。

網絡請求權限: 同樣網絡請求 也需要 在項目配置項裡 申明,不然會默認無法請求網絡資源。

一些研發習慣

現在應該叫 vibe 習慣,主要還是 Agent 在寫代碼。我主要看它寫,監督。

MVP:
項目剛開始的時候,儘量讓它做最小能力,後續慢慢新增貼心.
Feature:
每次 新增特性的時候,我的習慣是新開一個特性。這樣功能隔離,而且 AI 不會被歷史記錄影響,雖然我想 Cursor 可能做過這方面的優化。
Todo:
一些大特性的時候,讓 AI 列個 to-do 然後再開始做它會做得準確一些。
Test:
完成一些功能的後,可以讓 AI 生成對應 模塊的 Test 用例。

© 2026 QILEI'S JAN.STUDIO浙ICP备17004430号