這篇是寫給「也曾經想做點什麼,但一直沒動手」的你。
如果三個月前有人跟我說:「妳兩個月後會獨立寫一支 iOS App、上架 Apple App Store、被全球 175 個國家的人下載得到。」我可能會笑出來。
我是Mina,鴻揚數位行銷 AI-FANS.TW 的執行長,過去十幾年都在做行銷這件事 , 操作社群、跑數據、做廣告、寫策略、寫提案、給建議。
寫程式?我會一點 HTML、會看得懂一點 SQL、會用 GPT 把 Python 改成跑得動的樣子,但從沒寫過、也沒上架過任何一個原生 iOS App。
直到 2026 年 4 月 20 日,我打開 Xcode,建立了第一個 SwiftUI 專案。
10 天後的 4 月 30 日,《離線翻譯 Offline Translator》通過 Apple 審查,一次過、零退件,正式在 App Store 上架。
這篇文章想跟你分享的不是「快速上架攻略」,而是這 10 天我真實做對了什麼、做錯了什麼、以及為什麼一個做行銷的 CEO 會在某個禮拜一早上,決定花十天做一支翻譯 App。
為什麼是「離線翻譯」?
很多人問我:「翻譯 App 不是已經很多了嗎?Google 翻譯、ChatGPT、Apple 內建翻譯,你做這個要幹嘛?」
這是個好問題。答案來自我自己的真實使用情境:
我有長輩要出國玩,對於年紀大的長輩 外語又不太好,第一次去歐洲玩總有許多擔憂,怕跟空姐溝通不良,怕看不動標示。
- 中文 ↔ 土耳其文這條路,在台灣的 App 市場比較沒有人認真做。
- 尤其去國外旅行時,最怕的不是看不懂,是上飛機到落地、沒有網路、要靠翻譯吃第一餐。
- 拿手機對著菜單、對著路標,這些「拍張照就要看懂」的時刻,市面上的選擇要嘛要連網、要嘛要付月費、要嘛要把照片上傳到不知名的雲端。
所以我想做的,不是「再一個翻譯 App」,而是:
三個語言(繁中/英文/土耳其文)、四種模式(拍照疊圖/雙向對話/語音/文字)、100% 離線運作 沒網路也能用、零資料上傳、永久免費。
把翻譯這件事,回歸成「只有你和你的手機」的事情。不用註冊帳號、沒有訂閱、沒有資料外流的擔心。
這個定位,不是來自市場調查,是來自我和家人多次「網路斷掉、Google 翻譯轉圈圈 沒網路無法用」的當下。
一個行銷人 為什麼跑去寫 App?
說實話,動機很複合:
1. 對 AI 工具的好奇心壓不住。
過去這一年我用 Claude Code、用 GPT、用 Cursor,幫公司做了無數的內部工具、爬蟲、自動化流程。每次做完都會想:「如果這個能變成手機 App,那不就更直接?」想了一年,動手做了零次。
2. 想驗證「跨界做產品」這條路有多遠。
我的本業是行銷。但行銷做久了會發現一件事 ,能講得出產品故事的人很多,能真的把產品做出來的人很少。我想知道,如果我自己跨過那條線,會看到什麼。
3. 想替「不靠模板、不靠團隊」的個人開發證明一件事。
獨立開發者(indie developer)這條路,在歐美社群非常熱絡(Casey Liss、Marco Arment、Brent Simmons 都是代表),但在台灣相對冷清。我想用一支真的能上架的 App,告訴自己 這條路是走得通的。
4. 純粹想做一個會被家人用到的東西。
這個動機聽起來最不商業,但其實是最持久的燃料。當你 4/29 凌晨還在追一個 CI bug,能讓你不放棄的不是 KPI,是「下下週家人出國就能用」的那個畫面。
10 天的實際時間軸
我把這 10 天攤開來給你看,沒有美化。
日期 | 階段 | 在做什麼 |
4/20(一) | 啟動 | Xcode 開新專案、決定 SwiftUI + SwiftData、把 Apple 開發者帳號(年費 $99 USD)刷下去 |
4/21–22 | 核心打通 | 把 Apple Translation Framework、Vision OCR、Speech 一個一個串起來;每個都遇到坑、每個都查到半夜 |
4/23–25 | 介面與模式 | 4 個主要模式(拍照/對話/語音/文字)的 UI 一輪做完;中英土三語切換、語言包離線下載流程 |
4/26 | 第一輪自我測試 | 上 TestFlight、找家人朋友幫我測;列出 31 個小 bug |
4/27–29 | 44 小時收尾衝刺 | 修 bug、補 App Store 截圖、寫商店描述、處理一個個鬼打牆 3 天的 GitHub Actions CI 故障 |
4/30 上午 | 送審 | 提交 App Store Connect 審查 |
4/30 下午 | 通過 | Apple 一次過審、手動發佈、全球上架 |
整段累計:10 天,其中真正高密度衝刺:約 44 小時(4/27 凌晨到 4/30 中午)。
不是「 3 天從 0 開始」這種浮誇敘事,是老老實實的 10 天,包含每一晚的 Stack Overflow、每一次 build 失敗、每一杯的續命咖啡。
那 44 小時,我學到的 3 件事
如果你之後也想自己上架一支 App,這 3 件事比任何「教學文」都實用:
1. Apple 證書配額是個會在凌晨踹你一腳的隱形地雷
Apple 對個人開發者的「Distribution Certificate」有硬性配額。我在重新打包時,因為對 fastlane 的設定不熟,重複生了幾張舊憑證沒撤掉,直接卡在配額上限不能簽 build。
教訓:上架前一週把開發者後台的 Certificates 整理乾淨。每張憑證都要知道「這張在哪台 Mac、給誰用」,不認識的就 revoke。
2. xcodegen + $(MARKETING_VERSION) 的版本號漂移
這個坑超隱晦。我用 xcodegen 管理專案結構,把版本號設成 $(MARKETING_VERSION),預期 Xcode 會自動帶入。
結果上 TestFlight 時,TestFlight 顯示的版本號跟我 git tag 的不一樣。追了快 4 小時才發現是 xcodegen 的 substitution 規則跟 Xcode build settings 的優先順序衝突。
教訓:版本號這種小事,盡量用最簡單的硬編碼方式,不要在第一支 App 就玩花的。
3. App Store Connect 的「商店描述」字元數陷阱
App Store Connect 的「促銷文字」上限 170 字元,「描述」上限 4000 字元。
雷在這裡:「字元」指的不是中文字數,是Unicode code point。一個中文字 = 1,一個 emoji = 1~2,一個換行 \n = 1。我的文案塞了滿滿的繁中加幾個 emoji,編輯器顯示「ok」,送審才被告知「超過上限」。
教訓:寫商店文案時直接用 Python len(text) 算清楚,不要相信 Apple 後台的計算。
上架那天的奇怪心情
說個真實的細節 4/30 中午,Apple 審查通過的信寄到我信箱時,我沒有立刻發貼文慶祝。我做的第一件事,是打開 App Store,搜尋「離線翻譯」,點下「取得」按鈕,把它裝到我自己的 iPhone 上。
當圖示落在主畫面、第一次從 App Store 開啟自己做的東西的那一刻,那種感覺,跟在 Xcode 裡 build & run 完全不一樣。是「這東西現在屬於全世界了」的感覺。
我傳給家人的訊息只有一句:「你之後出國的時候可以用這個。」
那天傍晚我才坐下來,把 GitHub Pages 介紹頁、LinkedIn 貼文、Wix 主站嵌入、GitHub Release v1.2.12 一口氣全部做完。因為今天做、跟下週做,效果差 10 倍 , 這個我之後會另寫一篇「上架後 24 小時該做什麼」分享。
為什麼想寫這篇文章
老實說,我糾結了三天才決定發這篇。糾結的點是:「會不會看起來太自我推銷?」「會不會讓人覺得『一個做行銷的當然會包裝啊』?」
但我想清楚一件事,如果一個行銷人,跨界做了一支 iOS App、十天上架,但沒有把這件事好好記錄、好好分享,那才是辜負了行銷這個身份。
寫這篇文章不是為了賣 App(它本來就免費)。是為了:
1. 讓另一個正在猶豫的你,看到這條路是走得通的。
2. 替「跨界 + AI 協作 + 個人開發」這個組合留下一個真實的樣本。
3. 替自己在 2026 年 4 月這個時間點,留一個誠實的紀錄。
你可以在哪裡找到《離線翻譯》
如果你看到這裡,麻煩花 30 秒幫我做兩件事:
1. 下載試用(完全免費、無內購、無廣告):
→ App Store 連結:https://lihi3.me/tNRkB (iPhone 開連結會自動跳商店)
2. 用了之後幫我留評:
不用很長,一句「離線真的很方便」「很實用」「介面乾淨」都好。
對獨立開發者來說,第一個月的評論數,會直接影響演算法是否願意推薦這支 App 給更多人。
如果你也想做一個自己的東西,三句話送你
- 「想清楚再開始」是最大的拖延藉口 ── 動手之後想得會比動手之前清楚 100 倍。
- AI 工具讓「跨界做東西」的成本降到歷史新低 ── 我這次大量用 Claude Code 協助,從 SwiftUI 語法到 GitHub Actions YAML,幾乎每一個我不熟的細節都靠 AI 補完。如果你還沒開始學跟 AI 協作,這一年內就會落後。
- 作品出來那一刻,你不只是「做了一個東西」,你是「變成了能做這件事的人」 ── 這個身份的轉變,比作品本身更值錢。
下一個 milestone:v1.3.0 Live Camera Translation(即時相機翻譯)接續開發中。
這支 App 是我寫給家人、也寫給自己的禮物。 如果它也能幫到你,那就是額外的禮物。4/20 開始打造,10 天後上架,44 小時收尾衝刺,一次過審。 我做到了,你也可以。






















