
看了太多 CC 自言自語之後,我覺得還是得稍微搞懂一下發生什麼事情,請 CC 幫我寫了些科普教材。
它本來好心地說,我只要搞懂哪些是非知道不可的就夠。但我覺得多知道一點架構,有助於理解什麼可以做、什麼不能做的能力界線,所以想要比新手多知道一點點。以下分享我剛學到的東西。
| 環節 | 這次出現的名詞 | 一句話 | CC 認為我該懂到什麼程度 |
|---|---|---|---|
| 環境與工具 | Xcode、模擬器、實機、TestFlight、憑證與描述檔 | 東西在哪裡跑 | 知道模擬器不等於手機 |
| 資料層 | SwiftData、CGRect、cropRect、巢狀結構、攤平、計算屬性、資料遷移 | 東西怎麼存 | 聽得懂「這個存不進去」 |
| 畫面層 | SwiftUI、跑版、爆版(縮圖元件撐爆整頁) | 東西怎麼長出來 | 知道要自己看過畫面才算數 |
| AI 與模型 | Vision、美學評分、espresso context、裝置端推論 | 誰在做判斷 | 知道判斷是誰做的、能不能調 |
| 品質與測試 | 單元測試、double-free、沉默的失敗與 ScoringUnavailable、交叉審查 | 怎麼知道它是對的 | 會要求「失敗要講出來」 |
| 上架 | IAP、沙盒環境、審核截圖、商品要跟 build 一起送審、退件 | 怎麼送出去換錢 | 知道會卡在哪一關 |
我以前玩過 Swift Playgrounds,對它的理解是程式邏輯。這次才知道,除了在手機上存資料的 SwiftData、畫面的 SwiftUI 與 Foundation 基礎函式庫之外,居然還可以透過 SDK 呼叫 AI 與模型,包含 Vision framework、Foundation Models 等等。
這遠超過我對 Apple 的期待。從一般消費者的角度,我一直認為 iPhone 在 AI 發展上始終雷聲大雨點小。在 2026 年 7 月,人家 CC 都會寫 code 做動畫了,Siri 還是只能拿來查天氣訂鬧鐘。但沒想到,Apple 給了開發者很多武器。
為什麼 Apple 給開發者這麼多武器,它怎麼辦到的?我又問了 CC,它的答覆是四層:
最讓我有感的是第三層那四個現成能力:看得到、聽得懂、用自然語言回答,還有翻譯。加上 iOS 26 之後才有的裝置端語言模型。
這也讓我理解 Day 13 提到的,「照片評分在模擬器跑不出來、實機才有」的原因。模擬器是 Mac 上模擬出來的環境,拿不到手機那一整套跑模型的執行環境。
七月底的晚上,公司 IT 部門的大主管看到我做的 App,先說了句 Impressive,然後問了一句我聽不懂的話:
You are using the SDKs of the Vision Framework and Foundation framework, right?
我超慌張地問 CC:
請問我有用嗎?我怎麼記得沒有任何。
我少寫了任何第三方套件,因為我記得的是我們說好不上雲端、不進外部資料庫,怎麼會有 SDK。
CC 說,我們講的是兩件事。他問的是 Apple 內建在 iOS 裡的系統框架,任何 iOS App 都是用這些積木蓋的。我記得的「沒有任何」是第三方套件,Google、Firebase、廣告、分析那些外部廠商的東西,這趟確實一個都沒有。這也是照片不用上傳的底氣。
然後我強作鎮定,送出這句:
Yes. Vision for scoring and classification, FoundationModels for the on-device LLM captions. Zero 3rd-party SDKs, zero backend. To keep photos never leave the phone.
送出前 CC 幫我抓了兩個錯:Foundation 跟 FoundationModels 是兩個不同的框架,名字像而已;還有我把 scoring 拼成複數。最後那句「照片不離開手機」是我自己加的,因為那才是我真正想講的。
同一個晚上他又問了一句:不是只有 iOS 26 才能用嗎?我記得的是 iOS 18。查下來兩個都對,因為是三層門檻:
為了寫這篇,我終於比新手前進一點(或是不只一點),搞懂那段時間發生了什麼事情,以及還可以多做什麼。
Vibe Coder 如果只知道自己的需求,對原理完全沒興趣,就太可惜了。
還是得理解背後的原理,才能釋放更多可能的需求與功能。
寫到這裡,又有幾個想要更新的 idea 了,真是太開心了。
而且真的挖到一個洞。這篇寫到一半我才知道,App 判斷「家」的方法,是掃過整個相簿、找出拍照天數最多的那一格。那搬家的人怎麼辦?舊家累積的天數遠多於新家,會被判成還住在舊家,過去的旅行清單也會在某天突然重算。這條已經排進待辦了。
比新手前進一點的好處,就是你開始看得懂自己的東西哪裡可能會壞,哪裡可能更好。
這個系列同步寫在我的部落格:yojuhsu.com/blog
前一篇:【Day13】它不說做不到,它給我看起來正常的結果
下一篇:【Day15】我抱怨過的每件事,都變成一條測試