AI Coding 5 個月,成功上架一個 iOS App|從原型、代碼到備案上架的全流程覆盤總結

作者:jiayifun
日期:2026年6月3日 上午12:03
來源:WeChat 原文

整理版優先睇

速讀 5 個重點 高亮

用AI Coding 5個月成功上架iOS App|從原型到備案嘅全流程覆盤

整理版摘要

呢篇文章係一位獨立開發者嘅親身經驗分享。佢本身唔係專業程式設計師,但喺2025年利用CursorClaude Code等AI Coding工具,由零開始做咗一個叫Booko嘅iOS App——一個用來重温微信讀書高亮筆記嘅工具。由2023年有想法,到2025年12月正式開工,再到5個月後成功上架App Store,佢記錄咗每一步嘅第一次:畫原型、建Xcode項目、配置GitHub、定設計規範、註冊域名、申請ICP備案。作者想透過呢個過程,話俾所有想用AI寫App嘅人知:寫代碼已經唔再係稀缺能力,但點樣避免做出「AI Slop」先係關鍵。

整體結論係:AI Coding大幅降低咗開發門檻,但要做出高質素產品,必須做好技術選型(唔做後端、純本地+ iCloud)、UI設計(用原生組件避免AI藍紫色)、同埋面對停滯時嘅自我調整(放下審查、關注用戶反饋)。作者特別強調,想令AI準確調用原生組件,關鍵係要「講行話」——叫啱Sheet、Menu呢啲嘢嘅名。最終佢成功上架,仲意外接入咗微信讀書官方Skill,解決咗封面缺失問題。

最後作者分享咗增長階段嘅工具對比(Screen StudioMatte、Rotato),同埋對獨立開發嘅反思:數據產品分「呈現」同「原生」兩類,而佢自己會繼續聚焦閲讀同身體呢兩個領域。佢亦推薦咗Codex作為目前最好用嘅AI Coding工具,話佢迭代快、國內唔封號。

  • AI Coding令非專業開發者都可以做出完整App,但一定要有正確嘅技術選型同設計方法,否則好易淪為「AI Slop」。
  • 技術選型關鍵:唔做賬號後端,用Swift+SwiftUI寫原生App,數據存本地加iCloud同步,架構用MVVM打底。
  • UI設計要避開AI常見嘅藍紫色,用SwiftUI原生組件同SF Symbols配色簡單,仲要叫啱組件名(SheetMenu等)先引導到AI。
  • 面對開發停滯時,放下自我審查,專注將產品做出嚟;用戶真實反饋係最強推動力。
  • 上架同備案流程可以靠AI寫備註加快審核,用「純本地、無賬號、數據只經iCloud」呢啲關鍵字一次過關。
整理重點

從想法到原型:點解揀AI Coding?

作者喺2023年已經想做一個重温微信讀書高亮嘅App,但當時AI仲停留喺問答階段,佢又冇信心由頭學Swift。直到2025年,佢見到Claude Code呢啲工具可以理解成個項目、自己查文檔、修Bug,先覺得時機成熟。

佢先用門檻較低嘅CursorHTML原型,確認方向後先轉去Xcode。佢強調,要搞掂兩件事先:點樣喺Xcode建項目、同埋明白AI係點樣修改本地文件——就好似用Obsidian改Markdown筆記咁簡單。

AI Coding工具已經進化到可以理解成個項目,唔係淨係寫幾行碼

整理重點

技術選型關鍵:唔做後端,行本地+ iCloud

作者好快決定咗技術方案:淨係一個人開發,短期唔做安卓,所以直接唔做賬號體系、唔接後端,用SwiftSwiftUI寫原生App,數據全部存本地,再加iCloud同步。佢仲花咗400幾蚊買咗純想嘅獨立開發課程,快速學識咗GitHub、MVVM架構同設計規範呢三個關鍵點。

作者一開始淨係用Main分支,只有試UI效果先用新分支。對於Git唔熟嘅人,只要俾AI配好權限,佢就可以幫你處理曬啲操作。

  1. 1 GitHub:建私人倉庫,AI指導連上本地文件夾,每次改動有記錄
  2. 2 MVVM架構:打底結構,程式碼清晰易維護
  3. 3 設計規範:制定核心色、描邊、陰影等細節,確保UI一致性
整理重點

UI設計教訓:原生組件好過自己畫

作者喺界面佈局上,由產品定位推導出「書架」、「瀏覽」、「我」三個Tab,導入按鈕常駐全局。最磨人係UI設計:佢試過唔用封面、做立體書脊,最後發現「大道至簡」——平面封面加圓角陰影描邊就夠。

佢特別提醒,想令AI寫嘅App好睇,配色要簡單,直接用SwiftUI原生組件同SF Symbols。佢試過叫AI畫液態玻璃效果,點調都唔啱,後來用系統嘅Material組件加輕描邊就搞掂。關鍵係要「講行話」:叫啱Sheet、Menu呢啲名,AI先聽得明。

直接用SwiftUI原生組件同SF Symbols,配色簡單,避免AI藍紫色

要講行話,叫啱SheetMenu呢啲組件名,AI先聽得明需求

整理重點

停滯與再出發:放下自我審查,專注做出嚟

到2月,UI原型大致定好,但作者自己測試時總覺得好多Bug,加上自我懷疑商業價值,停滯咗一個多月。佢後來睇書同同Claude傾偈,意識到自己成日對自己嘅作品太嚴厲,而且每完成一個成就就即刻追下一個。

佢決定先唔理商業化,將產品做出嚟先。重新用Claude Code參考成熟產品嘅代碼,逐個修好影響體驗嘅問題。同期小紅書上幾張截圖有上千瀏覽,真實用戶嘅反饋推住佢繼續走。

整理重點

上架與備案:本地App點樣一次過關?

3月底到4月,作者叫AI扮成資深數據架構師,優化咗成個數據儲存架構,再註冊Apple開發者賬號、提交審核。出乎意料,App Store第二日就過咗,但國區要求ICP備案。

作者為咗一勞永逸,去阿里雲買域名同小型伺服器(唔使150蚊),填寫備案時發現App備案嘅域名唔使可訪問,直接提交就得。佢仲用AI幫手寫咗一段備註,強調「純本地、無賬號、數據只經iCloud」,結果App StoreICP備案都一次過關。

用AI寫備註強調「純本地、無賬號、數據只經iCloud」,一次過關

上架後,作者意外發現微信讀書開放咗官方Skill,立刻用佢做咗網頁版Booko Board,解決咗封面缺失問題。佢對比咗幾個做App演示嘅工具:Screen Studio(邊錄邊剪最強)、Matte(直接導入錄屏套殼)、Rotato(做3D效果),最後推薦Screen Studio。

  1. 1 Screen Studio:錄製剪輯一體,但要連數據線錄屏
  2. 2 Matte:直接導入iPhone錄屏套殼,背景有圖案可選
  3. 3 Rotato:能做3D旋轉效果,但唔可以分割編輯

舊年12月,我用Cursor,開始整一個iOS App,用嚟重温啲收埋喺微信讀書裏面、劃完就再冇開過嘅高亮書摘。

5個月之後,佢正式上架到App Store,改名做「Booko」。

1Capture_2026-06-02_19.10.44.png

由畫產品原型、起Xcode項目,到設定GitHub、定設計規範,最後註冊域名、備案上架,呢段路行落嚟,每一步都係我第一次做。

呢啲第一次,好值得記低,畀所有想用AI寫App嘅人做個參考。

更加重要嘅係,當寫程式碼已經變成唔再係稀缺嘅能力,我哋要點樣令自己整出嚟嘅嘢,唔會變成冇靈魂嘅「AI Slop」(AI生成垃圾)。

呢兩年AI進化得太快,每過半年,AI Coding嘅門檻就大幅下降。唔單止係大模型能力變強,仲包括Codex、Claude Code、Cursor呢啲產品喺設計同易用性上面嘅進步,令寫程式碼呢件事變得越來越簡單。

甚至連一向封閉嘅微信讀書,都開放咗自己嘅Skill。

我係呢啲變化嘅受益者。正正因為有佢哋,我先至可以喺過去半年裏面,整出一款設計都算精美、功能亦都算完整嘅App。

一、源起

第一次想開發Booko呢類App,係2023年。當時我喺度諗,點解微信讀書唔可以好似flomo咁,將劃線筆記整成一個可以隨時重温嘅小組件。

閲讀時劃嘅線,唔應該被埋沒喺微信讀書、Apple圖書或者Kindle裏面。劃完嘅高亮筆記,同自己嘅諗法一樣,應該重新被打開、被欣賞、被重温。

只係當時AI仲停留喺問答階段,Cursor同Windsurf都仲未出現喺我嘅視野裏面,我都冇信心同時間由頭學Swift同SwiftUI嚟手寫App。

2024年,我喺X見到開發者Randy整咗一款叫「筆記伴侶」嘅產品,呢款產品嘅思路就係我想做嘅App,而且我仲參加咗內測,可惜UI唔係我鍾意嘅風格。

而UI恰恰係我最在意嘅,我一直留意住Craft同謎底黑膠呢兩個設計精美嘅App,亦希望自己可以整出一個獨具匠心嘅產品。呢個願望好似一粒種子,埋喺心度。

直到2025年,Agent同AI Coding突飛猛進。我不斷刷到Claude Code同Sonnet嘅消息:佢哋唔再係只會寫幾行程式碼嘅輔助工具,而係可以好似真實嘅工程師咁,理解成個項目、自己查文檔、修Bug,甚至直接砌出完整嘅App架構。

見到呢種級別嘅程式碼能力,我覺得時機到咗。

只係喺2025年底,用Claude Code嘅門檻對我嚟講仲好高:要學終端操作,仲要買中轉站嘅API。所以到12月,我就先用門檻更低嘅Cursor嚟畫原型。

二、成形

1、技術選型

用Cursor畫嘅第一版原型係HTML,喺瀏覽器就睇到,但係要做成真正嘅iOS App,繞唔開Xcode。啱啱上手時,一定要先搞清2件事:

  1. 點樣起項目。寫iOS App唔可以隨便開個空文件夾。要先喺Xcode裏面起項目,生成目錄同 .xcodeproj 文件,配好Bundle Identifier同Team,再用Cursor打開嚟寫程式碼。

  2. AI係點樣修改文件嘅。程式碼文件就好似Markdown筆記,存在Finder嘅文件夾裏面。AI就係對住文件夾裏面嘅文件操作。如果將Cursor比作Obsidian,程式碼文件就好似一篇篇筆記。只要你用過Obsidian呢個應用,就可以好快理解Cursor同Codex係點樣喺呢啲本地文件夾裏面修改程式碼嘅。

搞清呢啲之後,更重要嘅決定係:用邊種程式語言?做唔做賬號體系?接唔接後端?

講到前端同後端,我都係近兩年先分得清:

  • 前端係用戶睇得到、可以直接操作嘅部分,例如瀏覽器裏面嘅網頁、手機App嘅界面。佢負責展示內容、回應點擊、輸入等操作,並將請求發送畀後端。

  • 後端係支撐產品運行嘅系統,用戶通常睇唔到。佢一般包括伺服器、數據庫、鑑權同業務邏輯:伺服器負責運行程式碼,數據庫負責保存數據,鑑權負責判斷用戶身份同權限,業務邏輯負責處理具體規則,例如登入、保存內容、建立訂單、權限判斷等。

考慮到Booko得我一個人開發,短期都唔做Android。所以我由一開始就決定:唔做賬號體系,唔接後端,寫原生iOS App,直接用Swift同SwiftUI,同埋數據全部行本地,加上iCloud同步。

雖然唔做後端,但我都唔敢隨便畀AI寫程式碼,怕踩坑。所以元旦假期,我畀咗400幾蚊,買咗純想嘅獨立開發課程——VibeCoding強制愛計劃(如果你都準備買呢門課程,可以用我嘅邀請碼:98SK3G得到9折優惠,我都會因此而賺到分銷佣金)

呢門課程一共有6節,一開始我只係快睇咗3節課,記低咗3個關鍵點:GitHub、MVVM架構同設計規範。

我先解決嘅係GitHub程式碼管理嘅問題。以前怕改壞程式碼,我只敢喺本地不斷複製新嘅文件夾。後來喺GitHub起好私人倉庫,再叫AI幫手指導連上本地程式碼文件夾之後,每次改動提交到GitHub都有記錄,隨時可以回退,唔需要再手動備份。

因為得我一個人開發,我嘅程式碼就直接推到Main主分支,只有喺前期嘗試各種UI效果時,用過新建分支做實驗,分支嘅改動對程式碼主體冇影響。

如果你對Git同GitHub都唔係好了解都冇關係,只要畀Codex同Claude Code配好權限,佢哋就會自動幫你提交程式碼、切分支,可以邊用邊瞭解。

設定好GitHub,加上明確咗用Swift同SwiftUI做原生App,並以MVVM架構打底,技術方案就確定好咗。

2、界面佈局

技術方案定好之後,下一步就係做界面佈局。

界面佈局係由產品嘅定位推導出嚟嘅。Booko嘅核心,係一張精美嘅筆記卡片,可以將劃線靚靚咁呈現出嚟,都可以對應返每本書。此外仲需要一個管理設定嘅地方。於是「書架」、「瀏覽」同「我」呢3個Tab就出現咗。

最關鍵嘅動作係「導入」。我將佢放喺全局,長駐喺Tab上面。好似X同即刻嘅發帖入口咁,隨時都用得。

喺書架同瀏覽之間,仲需要一個過渡:書籍詳情頁。㩒開書架上嘅一本書,進入書籍筆記列表;再㩒某條筆記,就跳到瀏覽頁去重温。

27shots_so.png

同flomo一樣,呢啲筆記都應該喺小組件裏面呈現。於是我加咗小組件,並且參考Cubox,支援喺小組件上直接隨機跳轉,同埋分享匯出圖片。

IMG_2312.jpg

3、UI設計

將界面框架搭好唔算難,真正磨人嘅係UI設計。

一開始,我唔想用書籍封面,想用文件夾或卡片盒呢啲更新穎嘅設計。但係佢哋一來難畫,二來同「書」嘅關聯太弱。

兜咗一個大圈,最後都係返返封面。我試過立體封面、帶書脊嘅封面,搞到最後發現大道至簡。最原始嘅平面封面,加少少圓角、陰影同描邊就已經夠好。

787shots_so.png

瀏覽頁都重構咗好幾版:鋸齒郵票、擬物、撞色……但係要嘛睇耐咗會厭,要嘛大片色彩同導航欄衝突好嚴重。最後我學Craft,支援上傳背景圖同切換字體,預設提供兩種樣式。佢好似皮膚,具備擴展性,以後可以慢慢加。

281shots_so.png

兜兜轉轉,界面返到最簡單嘅樣,但係我都收埋咗一啲細節:

書架封面會自動取色。如果封面比例唔匹配,空白位會用相近嘅顏色嚟填補;

㩒入書籍詳情頁,成個頁面會自動適配呢本書嘅主色調。呢個設計嚟自謎底黑膠,後來iOS 26.4嘅Apple Music都做咗同樣嘅處理。

定好呢3個核心頁面嘅設計,加上核心色、描邊同陰影等細節,整理成設計規範,App就算完成80%。剩低嘅20%,就係將功能實現好。

做Booko時我發現,想令AI寫嘅App好睇,唔好變成爛大街嘅AI藍紫色,最慳力嘅做法係:配色盡量簡單,直接用SwiftUI原生組件同SF Symbols圖標。

我走過一段彎路。一開始想做液態玻璃效果,叫AI自己寫程式碼畫,點樣調整都唔啱。後來先發現,Booko裏面呢種玻璃感唔需要自己畫複雜效果,直接用系統嘅SwiftUI Material,再加好輕嘅描邊、陰影同高光,就已經好接近想要嘅質感。

但係點樣令AI準確噉調用原生組件?關鍵係描述準確,對佢「講行話」。

你要知道咩係Sheet,咩係Menu,咩係ToolBar等等。

只有叫啱名,AI先聽得明需求。呢啲喺Apple嘅Human Interface Guidelines裏面有寫。小紅書上都有唔少分享專業術語嘅帖,刷到可以收藏備用。

蘋果組件.png

4、停滯

到咗2月,Booko嘅UI原型大致定好。但係由春節到3月上旬,自己試嗰陣,總覺得成眼都係Bug。例如,想令底部Tab同頂部返回按鈕跟住主題色切換,點樣寫都唔啱。

技術卡住,加上自我懷疑:呢個嘢有商業空間咩?受眾會唔會太窄?我停低AI Coding,停滯咗一個幾月。

3月,我睇陳其鋼嘅《隱者山河》,讀《源泉》,又同Claude傾自己嘅思維習慣。我慢慢意識到:我成日將欣賞嘅目光留畀外部產品,對自己嘅嘢卻帶住嚴厲嘅審判。而且每解鎖一個成就,就即刻衝向下一個。

意識到呢點之後,我先將嚴厲嘅自我審查放埋一邊。既然第一版嘅目的只係將諗法做出嚟,咁就暫時唔好理後續嘅商業化問題,做出嚟先睇到後續增長嘅結果。

於是,重新叫Claude Code直接參考成熟產品嘅程式碼,將最影響用戶體驗嘅問題慢慢修好。(到呢個階段,我開始用Claude Code嘅桌面GUI,用Opus 4.5解決咗好多之前解決唔到嘅UI細節問題。)

啱啱嗰排,我喺小紅書同公眾號出咗幾張截圖,都有過千瀏覽,好多人求內測,真實嘅用戶反饋,推住我繼續向前行。

到咗3月底,產品大致成形,功能都可以正常用。但我依然謹慎,對數據儲存同iCloud同步唔放心,冇敢直接開內測。

三、上架

1、優化數據架構

3月底到4月初,我做咗好多測試,不斷叫AI扮演資深數據架構師,假設有10萬用戶,一遍一遍噉優化數據儲存。改到最後,程式碼架構同最初設定嘅MVVM已經有啲唔同,但AI話我知呢個係更加穩健嘅架構。

之後我去註冊咗Apple個人開發者賬號。提前喺小紅書做過功課:

  • Apple ID姓名要同真實姓名一致(可以用拼音)

  • 註冊時唔好更換設備。

第二日,賬號就順利通過咗審核。

接着係構建版本,邀請朋友內測。成個4月,我有空就叫AI繼續檢查數據同iCloud嘅穩定性,並做好咗App Store嘅配圖。

2、上架同備案

五一假期,我開始準備上架。先叫AI檢查審核可能遇到嘅問題,用Notion AI寫好私隱政策同服務條款,最後將CloudKit由開發環境推到生產環境。

5月8日,我正式將Booko提交畀Apple審核,出乎意料,第二日就通過咗。但係國區App Store卡住咗審核,要求提供ICP備案。

上架前我不斷同AI確認過,Booko係本地應用,冇賬號體系,亦唔做分發,理應唔使備案。但係Apple審核一刀切,冇備案就唔畀直接上架。

我去小紅書睇經驗帖,去申訴豁免都要花幾日時間,為咗一勞永逸,決定直接申請備案。

去阿里雲買咗域名同小型伺服器,用咗唔夠150蚊。

填寫備案信息時繞咗啲彎路:我見到需要綁定域名,就以為要先將官網備案,先至可以畀App備案。啱啱嗰幾日網站備案系統出問題,卡咗兩三日。後來聯絡客服先搞清,App備案填嘅域名唔需要能夠訪問,直接提交就得。

呢度有個小經驗:無論係提交App Store定係ICP備案,我都叫AI幫我寫咗一段防卡審嘅備註。重點強調Booko冇賬號體系、純本地運行、冇內容分發,數據只係透過iCloud同步,開發者無法獲取。

呢招似乎有用,App Store同ICP備案都一次過順利通過。

3、意外之喜

雖然Booko拎到ICP備案之後,就順利喺國區App Store上架,但我冇即刻宣傳。

因為無論係由微信讀書,定係由蘋果圖書,導入高亮劃線到Booko,書籍封面都係缺失嘅,需要用戶手動上傳先得。

對我嚟講,產品唔算完整,體驗好割裂。

原計劃係接入外部API嚟抓取封面。冇諗到5月,微信讀書突然開放咗官方Skill。我即刻用佢整咗一個網頁版嘅Booko Board,用戶輸入密鑰就可以拉取書籍同劃線,體驗非常順暢。

隨後嘅一星期,我用咗幾個鐘頭將微信讀書Skill接入Booko。咁樣,手動傳封面嘅問題終於解決咗,Booko嘅第一個完整形態都終於誕生。

四、增長

我仲未正式為Booko做過增長。目前只係出咗4篇小紅書,同步到公眾號。

一來業餘時間有限,二來我唔想將就,出啲粗糙嘅內容。

所以最近喺研究,點樣快啲為Booko整啲好睇嘅演示影片。為咗整帶殼演示,我將之前收集嘅幾個工具試勻曬,最後發現最好用嘅都係Screen Studio。

簡單比較一下呢幾個工具:

  • Screen Studio:錄製同剪輯都好強。缺點係要用數據線將iPhone連到Mac錄屏,然後再套殼剪輯。

  • Bezel:同Screen Studio一樣要連數據線錄製,冇必要單獨用。

  • Rotato:可以套殼,可以做3D旋轉效果,但係唔可以分割編輯,定位唔同。

  • Matte:唯一可以直接導入電話錄屏並套殼嘅,背景有圖案可以揀。雖然話緊做3D效果,但目前嘅分割編輯功能同快捷鍵,仲未夠Screen Studio完整。

一句話總結:想邊錄邊剪揀Screen Studio,想偷懶直接導入錄屏揀Matte,想做3D效果揀Rotato。

喺增長呢條路,仲有好多要試。等攞到階段性結果,再嚟分享。

五、寫喺最後

做Booko呢5個月,我有2個諗法。

第一,由數據來源睇,產品基本上分兩種模式:

  • 數據嘅「呈現」:接入外部數據,做再呈現。例如Grow、自律石頭、謎底黑膠。

  • 數據嘅「原生」:叫用戶自己記錄,產生新數據。例如flomo、Notion。

呢兩類產品唔係非此即彼,經常有重疊。Booko嘅核心係數據嘅再「呈現」,但亦補充緊數據嘅「原生」功能,例如為自己創建一本書,輸入自己嘅諗法。

第二,係對自己嘅認知。獨立開發好花時間同心力,要有夠嘅熱愛先可以堅持。而我鍾意、未來都會繼續做嘅App,大概就係呢兩類:

  • 閲讀:呈現啟發過自己嘅信息。

  • 身體:呈現身心狀態同外部環境對自己嘅影響。

未做出Booko之前,我想住只要可以上架App Store就得。真係做完,心裏反而冇乜波瀾。接下來嘅重心要由產品轉向增長,希望可以令更多人用到Booko。

順便一提,到2026年6月年中呢個時間點,如果只推薦一個AI Coding工具,我會推薦Codex。一嚟產品迭代快、模型能力強;二嚟國內用唔封號,用起嚟放心。

去年 12 月,我用 Cursor,開始做一個 iOS App,用來重温那些埋在微信讀書裏、劃完就再沒打開過的高亮書摘。

5 個月後,它正式上架到 App Store,取名「Booko」。

1Capture_2026-06-02_19.10.44.png

從畫產品原型、建 Xcode 項目,到配置 GitHub、定設計規範,最後註冊域名、備案上架,這一路走下來,每一步都是我的第一次。

這些第一次,值得記下來,給所有想用 AI 寫 App 的人做個參考。

更重要的是,當寫代碼已經變成不再稀缺的能力,我們該怎麼讓自己做出來的東西,不淪為沒有靈魂的「AI Slop」(AI 生成垃圾)。

這兩年 AI 進化得太快,每過半年,AI Coding 的門檻就大幅下降。這不只是說大模型能力在變強,也包括 Codex、Claude Code、Cursor 這些產品在設計和易用性上的進步,讓寫代碼這件事,變得越來越簡單。

甚至連一向封閉的微信讀書,都開放了自己的 Skill。

我是這些變化的受益者。正是因為它們,我才能在過去半年裏,做出一款設計還算精美、功能也算完整的 App。

一、源起

第一次想開發 Booko 這樣的 App,是在 2023 年。當時我在想,為什麼微信讀書不能像 flomo 一樣,把劃線筆記做成一個能隨時重温的小組件。

閲讀時劃的線,不該被埋沒在微信讀書、Apple 圖書或 Kindle 裏。劃完的高亮筆記,跟自己的想法一樣,應該重新被打開、被欣賞、被重温。

只是當時 AI 還停留在問答階段,Cursor 和 Windsurf 都還沒出現在我的視野裏,我也沒有信心和時間從頭學 Swift 和 SwiftUI 來手寫 App。

2024 年,我在 X 看到開發者 Randy 做了一款叫「筆記伴侶」的產品,這款產品的思路就是我想做的 App,而且我還參加了內測,可惜 UI 不是我想要的風格。

而 UI 恰恰是我最在意的,我一直關注着 Craft 和謎底黑膠這兩個設計精美的 App,也希望自己能做出一個獨具匠心的產品。這個願望像一顆種子,埋在心裏。

直到 2025 年,Agent 和 AI Coding 突飛猛進。我不斷刷到 Claude Code 和 Sonnet 的消息:它們不再是隻會寫幾行代碼的輔助工具,而是能像真實的工程師一樣,理解整個項目、自己查文檔、修 Bug,甚至直接搭出完整的 App 架構。

看到這種級別的代碼能力,我覺得時機已到。

只是在 2025 年底,用 Claude Code 的門檻對我來說還很高:要學終端操作,還要買中轉站的 API。所以到 12 月,我就先用門檻更低的 Cursor 來畫原型。

二、成形

1、技術選型

用 Cursor 畫的第一版原型是 HTML,在瀏覽器就能看,但要做成真正的 iOS App,繞不開 Xcode。剛上手時,必須先弄懂 2 件事:

  1. 怎麼建項目。寫 iOS App 不能隨便建個空文件夾。得先在 Xcode 裏建項目,生成目錄和 .xcodeproj 文件,配好 Bundle Identifier 和 Team,再用 Cursor 打開寫代碼。

  2. AI 是怎麼修改文件的。代碼文件就像 Markdown 筆記,存在 Finder 的文件夾裏。AI 就是對着文件夾裏的文件操作。如果把 Cursor 比作 Obsidian,代碼文件就像是一篇篇筆記。只要你用過 Obsidian 這個應用,就能很快理解 Cursor 和 Codex 是怎麼在這些本地文件夾裏修改代碼的。

弄懂這些後,更重要的決定是:用哪種編程語言?做不做賬號體系?接不接後端?

說到前端和後端,我也是近兩年才分清:

  • 前端是用戶看得見、能直接操作的部分,比如瀏覽器裏的網頁、手機 App 的界面。它負責展示內容、響應點擊、輸入等操作,並把請求發送給後端。

  • 後端是支撐產品運行的系統,用戶通常看不見。它一般包括服務器、數據庫、鑑權和業務邏輯:服務器負責運行代碼,數據庫負責保存數據,鑑權負責判斷用戶身份和權限,業務邏輯負責處理具體規則,比如登錄、保存內容、創建訂單、權限判斷等。

考慮到 Booko 只有我一個人開發,短期也不做安卓。所以我一開始就決定:不做賬號體系,不接後端,寫原生的 iOS App,直接用 Swift 和 SwiftUI,以及數據全走本地,加上 iCloud 同步。

雖然不做後端,但我也不敢隨便讓 AI 寫代碼,怕踩坑。所以元旦假期,我花了 400 多,購買了純想的獨立開發課程——VibeCoding 強制愛計劃(如果你也準備購買這門課程,可以用我的邀請碼:98SK3G獲得 9 折優惠,我也會因此賺取到分銷佣金)

這門課程一共 6 節,一開始我只快速刷了 3 節課,記錄下了 3 個關鍵點:GitHub、MVVM 架構和設計規範。

我先解決的是 GitHub 代碼管理的問題。以前怕改壞代碼,我只敢在本地不斷複製新的文件夾。後來在 GitHub 建好私人倉庫,再讓 AI 幫忙指導連上本地代碼文件夾後,每次改動提交到 GitHub 都有記錄,隨時能回退,不需要再手動備份了。

因為只有我一個人開發,我的代碼就直接推到 Main 主分支,只有在前期嘗試各種 UI 效果時,用過新建分支做實驗,分支的改動對代碼主體沒有影響。

如果你對 Git 和 GitHub 都不太瞭解也沒有關係,只要給 Codex 和 Claude Code 配好權限,它們就能自動幫你提交代碼、切分支,可以邊用邊瞭解。

配置好了 GitHub,加上明確了用 Swift 和 SwiftUI 做原生 App,並以 MVVM 架構打底,技術方案確定好了。

2、界面佈局

技術方案定好後,接下來就是做界面佈局。

界面佈局是由產品的定位推導出來的。 Booko 的核心,是一張精美的筆記卡片,能把劃線漂亮地呈現出來,也能對應回每本書。此外還需要一個管理設置的地方。於是「書架」、「瀏覽」和「我」這 3 個 Tab 就出現了。

最關鍵的動作是「導入」。我把它放在全局,常駐在 Tab 上。就像 X 和即刻的發帖入口一樣,隨時都能用。

在書架和瀏覽之間,還需要一個過渡:書籍詳情頁。點開書架上的一本書,進入書籍筆記列表;再點某條筆記,就跳到瀏覽頁去重温。

27shots_so.png

和 flomo 一樣,這些筆記也該在小組件裏呈現。於是我加了小組件,並且借鑑 Cubox,支持在小組件上直接隨機跳轉,以及分享導出圖片。

IMG_2312.jpg

3、UI 設計

把界面框架搭好不算難,真正磨人的是 UI 設計。

一開始,我不想用書籍封面,想用文件夾或卡片盒這些更新穎的設計。但它們一來難畫,二來和「書」的關聯太弱。

繞了一大圈,還是回到了封面。我嘗試過立體封面、帶書脊的封面,折騰到最後發現大道至簡。最原始的平面封面,加一點圓角、陰影和描邊就足夠好。

787shots_so.png

瀏覽頁也重構了好幾版:鋸齒郵票、擬物、撞色……但要麼看久了會膩,要麼大片色彩和導航欄衝突嚴重。最後我學 Craft,支持上傳背景圖和切換字體,默認提供兩種樣式。它就像皮膚,具備擴展性,以後可以慢慢加。

281shots_so.png

兜兜轉轉,界面回到了最簡單的樣子,但是我也藏了一些細節:

書架封面會自動取色。如果封面比例不匹配,空白處會用相近的顏色來填補;

點進書籍詳情頁,整個頁面會自動適配這本書的主色調。這個設計來自謎底黑膠,後來 iOS 26.4 的 Apple Music 也做了同樣的處理。

定好這 3 個核心頁面的設計,加上核心色、描邊和陰影等細節,整理成設計規範,App 就算完成了 80%。剩下的 20%,就是把功能實現好。

做 Booko 時我發現,想讓 AI 寫的 App 好看,不要變成爛大街的 AI 藍紫色,最省心的做法是:配色儘量簡單,直接用 SwiftUI 原生組件和 SF Symbols 圖標。

我走過一段彎路。一開始想做液態玻璃效果,讓 AI 自己寫代碼畫,怎麼調都不對。後來才發現,Booko 裏這種玻璃感不需要自己畫複雜效果,直接用系統的 SwiftUI Material,再加很輕的描邊、陰影和高光,就已經足夠接近想要的質感。

但怎麼讓 AI 準確調用原生組件?關鍵是描述準確,對它「說行話」。

你要知道什麼是 Sheet,什麼是 Menu,什麼是 ToolBar 等等。

只有叫對名字,AI 才能聽懂需求。這些在 Apple 的 Human Interface Guidelines 裏有寫。小紅書上也有不少分享專業術語的帖子,刷到了可以收藏備用。

蘋果組件.png

4、停滯

到了 2 月,Booko 的 UI 原型基本定好。但從春節到 3 月上旬,自己測的時候,總覺得滿眼都是 Bug。比如,想讓底部 Tab 和頂部返回按鈕跟着主題色切換,怎麼也寫不對。

技術卡殼,加上自我懷疑:這東西有商業空間嗎?受眾會不會太窄?我停下 AI Coding,停滯了一個多月。

3 月,我看陳其鋼的《隱者山河》,讀《源泉》,又和 Claude 聊自己的思維習慣。我慢慢意識到:我總是把欣賞的目光留給外部產品,對自己的東西卻帶着嚴厲的審判。而且每解鎖一個成就,就立馬奔向下一個。

意識到這點後,我先把嚴厲的自我審查放一邊。既然第一版的目的只是把想法做出來,那就先別管後續的商業化問題,先做出來才能看到後續增長的結果。

於是,重新讓 Claude Code 直接參考成熟產品的代碼,把最影響用戶體驗的問題慢慢修好。(到這個階段,我開始用 Claude Code 的桌面 GUI,用 Opus 4.5 解決了很多之前解決不了的 UI 細節問題。)

剛好那陣子,我在小紅書和公眾號發了幾張截圖,都有上千瀏覽,不少人求內測,真實的用戶反饋,推着我繼續往前走。

到了 3 月底,產品基本成形,功能也能正常用了。但我依然謹慎,對數據存儲和 iCloud 同步不放心,沒敢直接開啓內測。

三、上架

1、優化數據架構

3 月底到 4 月初,我做了很多測試,不斷讓 AI 扮演資深數據架構師,假設有 10 萬用戶,一遍遍地優化數據存儲。改到最後,代碼架構和最初設定的 MVVM 已經不太一樣了,但 AI 告訴我這是更加健壯的架構。

之後我去註冊了 Apple 個人開發者賬號。提前在小紅書做過功課:

  • Apple ID 姓名要和真實姓名一致(可以用拼音)

  • 註冊時不要更換設備。

第二天,賬號就順利通過了審核。

接着是構建版本,邀請好友內測。整個 4 月,我也是有空就讓 AI 繼續檢查數據和 iCloud 的穩定性,並做好了 App Store 的配圖。

2、上架和備案

五一假期,我開始準備上架。先讓 AI 檢查審核可能碰到的問題,用 Notion AI 寫好隱私政策和服務條款,最後把 CloudKit 從開發環境推到生產環境。

5 月 8 日,我正式把 Booko 提交給 Apple 審核,出乎意料,第二天就通過了。但是國區 App Store 卡了審核,要求提供 ICP 備案。

上架前我反覆跟 AI 確認過,Booko 是本地應用,沒有賬號體系,也不做分發,理應不用備案。但是 Apple 審核一刀切,沒有備案就不讓直接上架。

我去小紅書看經驗貼,去申訴豁免也得花好幾天的時間,為了一勞永逸,決定直接申請備案。

去阿里雲買了域名和小型服務器,花了不到 150 塊。

填寫備案信息時繞了點彎路:我看到需要綁定域名,就以為得先給官網備案,才能給 App 備案。剛好那幾天網站備案系統出問題,卡了兩三天。後來聯繫客服才弄明白,App 備案填的域名不需要能訪問,直接提交就行。

這裏有個小經驗:不管是提交 App Store 還是 ICP 備案,我都讓 AI 幫我寫了一段防卡審的備註。重點強調 Booko 沒有賬號體系、純本地運行、無內容分發,數據僅通過 iCloud 同步,開發者無法獲取。

這招似乎是管用的,App Store 和 ICP 備案都一次性順利通過了。

3、意外之喜

雖然 Booko 拿到 ICP 備案後,就順利在國區 App Store 上架了,但我沒有急着宣傳。

因為不管是從微信讀書,還是從蘋果圖書,導入高亮劃線到 Booko,書籍封面都是缺失的,需要用戶手動上傳才行。

這對我來說,產品不能算完整,體驗很割裂。

原計劃是接入外部 API 來抓取封面。沒想到 5 月,微信讀書突然開放了官方 Skill。我立刻用它做了一個網頁版的 Booko Board,用戶輸入密鑰就能拉取書籍和劃線,體驗非常順暢。

隨後的一週,我花了幾個小時把微信讀書 Skill 接入了 Booko。這樣一來,手動傳封面的問題終於解決了,Booko 的第一個完整形態也終於誕生了。

四、增長

我還沒正經為 Booko 做過增長。目前只發了 4 篇小紅書,同步到了公眾號。

一來業餘時間有限,二來我不想將就,發些粗糙的內容。

所以最近在研究,怎麼快速給 Booko 做些好看的演示視頻。為了做帶殼演示,我把我之前收集的幾個工具試了一遍,最後發現最好用的還是 Screen Studio。

簡單對比一下這幾個工具:

  • Screen Studio:錄製和剪輯都很強。缺點是得用數據線把 iPhone 連到 Mac 錄屏,然後再套殼剪輯。

  • Bezel:和 Screen Studio 一樣要連數據線錄製,沒有必要單獨用。

  • Rotato:能套殼,能做 3D 旋轉效果,但不能分割編輯,定位不一樣。

  • Matte:唯一能直接導入手機錄屏並套殼的,背景有圖案可選。雖然說在做 3D 效果,但目前的分割編輯功能和快捷鍵,還不如 Screen Studio 完整。

一句話總結:想邊錄邊剪選 Screen Studio,想偷懶直接導入錄屏選 Matte,想做 3D 效果選 Rotato。

在增長這條路上,還有很多要嘗試的。等拿到階段性結果,再來分享。

五、寫在最後

做 Booko 的這 5 個月,我有 2 個思考。

第一,從數據來源看,產品基本分兩種模式:

  • 數據的「呈現」:接入外部數據,做再呈現。比如 Grow、自律石頭、謎底黑膠。

  • 數據的「原生」:讓用戶自己記錄,產生新數據。比如 flomo、Notion。

這兩類產品不是非此即彼,經常有重疊。Booko 的核心是數據的再「呈現」,但也在補充數據的「原生」功能,比如為自己創建一本書,輸入自己的想法。

第二,是對自我的認知。獨立開發耗費時間和心力,得有足夠的熱愛才能堅持。而我喜歡的、未來也會繼續做的 App,大概就這兩類:

  • 閲讀:呈現啓發過自己的信息。

  • 身體:呈現身心狀態和外部環境對自身的影響。

沒做出 Booko 前,我想着只要能上架 App Store 就行。真做完了,心裏反而沒什麼波瀾。接下來的重心要從產品轉向增長,希望能讓更多人用上 Booko。

對了,到 2026 年 6 月年中這個節點,如果只推薦一個 AI Coding 工具,我會推薦 Codex。一是產品迭代快、模型能力強;二是國內用不封號,用着省心。