付費限定

📲iPlayground 開源 App 背景故事

13-avatar-img
發佈於📦 推薦 Swift Package 個房間
更新於 發佈於 閱讀時間約 6 分鐘

今年 iPlayground,我自告奮勇接下了 iOS app 的開發(按這裡下載)。開發背後的一些小故事,我覺得可以拿出來分享,就寫了這篇文章。

接手理由

參加 try! Swift Tokyo 時,發現它們的 app 做得不錯,而且有開源。在第一天活動時,遇到 app 有個使用者體驗上的困擾,但應該不難修。想說我如果能修好,可以去發個 PR。

結果等想到時上去一看,已經有人發了 PR 搞定了。這就是一個熱衷開發的社群會有的樣貌,真的很貫徹開源精神,我覺得超棒

raw-image

另一方面,try! Swift Tokyo 的 app 使用 SwiftUI 與 TCA,跟我熟悉的框架一模一樣。於是產生了一個念頭:如果我來寫 iPlayground 的 app,也許有機會在國際 iOS 社群之間做個比較、互相學習

再者,雖然我錄製過多集的 iOS 開發配飯吃 • SwiftUI + TCA 系列,也寫過一些 TCA 相關文章,但是從來沒有一個比較複雜的開源 app 作為範例。這會是個很實際的 sample project。

規劃與資料準備

一個研討會的 app 會有哪些功能,不難想像。主要就是顯示議程、講者、工作人員、贊助商、場地資料,以及重要連結等等。

iPlayground 的官網已經使用一個開源 repo 放一些 JSON 檔,所以 app 只需要沿用即可。

不過我想說,既然是 JSON,如果多人協作時不小心改壞就不好了。就用 Claude Code 寫出一個 Swift Package,用 Codable 確保資料欄位,並且寫一些測試來確保格式與欄位正確。

這些 GitHub Actions 的 CI 工作流程,都可以在這裡看到。比較有趣的是,這邊用的是 Ubuntu 的 runner 來跑測試,而不需要 Mac。算是利用了一下 Swift 跨平台的特性。

注入現在時間,進行時空跳轉

上述的部分,我有在開發時直播與錄影(作為宣傳活動的手段)展示,都在這個 iOS 開發配飯吃 iPlayground 2025 App 開發特別篇播放清單

後面的部分,因為時間的因素,就沒有錄影了。以下我用文字補充。

以行動支持創作者!付費即可解鎖
本篇內容共 2291 字、0 則留言,僅發佈於🤖 AI 工具 、📦 SwiftUI & TCA、🧠 軟體開發思維、💡 實用技巧、📦 推薦 Swift Package你目前無法檢視以下內容,可能因為尚未登入,或沒有該房間的查看權限。
留言
avatar-img
留言分享你的想法!
avatar-img
13+
1.3K會員
73內容數
13 以 10+ 年 iOS 開發經驗為基礎撰寫,助你在 AI 時代成為更有自信的技術工作者。 ❤️ 支持 13 創作! 🤖 AI 工具實戰經驗與深度思考 🧠 軟體開發思維、職涯發展建議 💡 實用技巧與踩坑經驗分享 😔 開發者身心健康與職業傷害
13+的其他內容
2025/08/21
把管理團隊的溝通習慣應用到 AI 工具上。每次失敗都是學習機會,建立規範讓合作越來越有效率。
2025/08/21
把管理團隊的溝通習慣應用到 AI 工具上。每次失敗都是學習機會,建立規範讓合作越來越有效率。
2025/08/21
更新我目前的 AI 工具使用現況給讀者參考。
Thumbnail
2025/08/21
更新我目前的 AI 工具使用現況給讀者參考。
Thumbnail
2025/08/19
很多時候,你覺得做不到,並不是真的很難,而只是看起來很難。
2025/08/19
很多時候,你覺得做不到,並不是真的很難,而只是看起來很難。
看更多
你可能也想看
Thumbnail
2025 vocus 推出最受矚目的活動之一——《開箱你的美好生活》,我們跟著創作者一起「開箱」各種故事、景點、餐廳、超值好物⋯⋯甚至那些讓人會心一笑的生活小廢物;這次活動不僅送出了許多獎勵,也反映了「內容有價」——創作不只是分享、紀錄,也能用各種不同形式變現、帶來實際收入。
Thumbnail
2025 vocus 推出最受矚目的活動之一——《開箱你的美好生活》,我們跟著創作者一起「開箱」各種故事、景點、餐廳、超值好物⋯⋯甚至那些讓人會心一笑的生活小廢物;這次活動不僅送出了許多獎勵,也反映了「內容有價」——創作不只是分享、紀錄,也能用各種不同形式變現、帶來實際收入。
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
https://www.youtube.com/watch?v=0L2OgNQDzTc 之前看了啾啾鞋這部影片,裡面說退坑一款手遊,也說到一些觀念,就如下圖這樣
Thumbnail
https://www.youtube.com/watch?v=0L2OgNQDzTc 之前看了啾啾鞋這部影片,裡面說退坑一款手遊,也說到一些觀念,就如下圖這樣
Thumbnail
我的手機有一個聖經APP,原本我只是好奇始源幾乎每天都會在IG限動發的東西,後來在粉絲社群裡面看到有人討論和分享是哪個APP,於是我就下載來看看,然後發現每天推播的內容就真的和始源發的一樣,覺得很有趣(迷妹的樂趣?),剛好那陣子的我時好時壞,每天推播內容出來,我就強迫自己看看,當作心靈雞湯也沒關係,
Thumbnail
我的手機有一個聖經APP,原本我只是好奇始源幾乎每天都會在IG限動發的東西,後來在粉絲社群裡面看到有人討論和分享是哪個APP,於是我就下載來看看,然後發現每天推播的內容就真的和始源發的一樣,覺得很有趣(迷妹的樂趣?),剛好那陣子的我時好時壞,每天推播內容出來,我就強迫自己看看,當作心靈雞湯也沒關係,
Thumbnail
作者回顧過去擔任PM主導動漫風手遊專案的經驗,分享專案背後的故事以及對卡通渲染技術的個人興趣。後記並附上了近期學習3D建模&卡通渲染的小小成果。
Thumbnail
作者回顧過去擔任PM主導動漫風手遊專案的經驗,分享專案背後的故事以及對卡通渲染技術的個人興趣。後記並附上了近期學習3D建模&卡通渲染的小小成果。
Thumbnail
在兩寶出生後曾自創 Podcast,但因時間和動力問題終敗。如今四年後,希望透過部落格分享生活、育兒、電商產品等內容,並期望能與有相似想法的人一同成長。
Thumbnail
在兩寶出生後曾自創 Podcast,但因時間和動力問題終敗。如今四年後,希望透過部落格分享生活、育兒、電商產品等內容,並期望能與有相似想法的人一同成長。
Thumbnail
這是一篇有關拜訪某創業公司的故事,故事中記錄了創辦人的表演技巧以及產品發展的疑點。
Thumbnail
這是一篇有關拜訪某創業公司的故事,故事中記錄了創辦人的表演技巧以及產品發展的疑點。
Thumbnail
「下筆APP」本身就內建多款字體,不用什麼都勞師動眾Ai Ps開啟來做,發發日常貼文限動用手機就搞定, 很簡單,不用嗎 (σ`∀´)σ
Thumbnail
「下筆APP」本身就內建多款字體,不用什麼都勞師動眾Ai Ps開啟來做,發發日常貼文限動用手機就搞定, 很簡單,不用嗎 (σ`∀´)σ
Thumbnail
在FB看到很多朋友分享用Ai生圖在後製上文字,去背之後就上架line貼圖,看起來似乎很簡單。 提供貼圖尺寸 過年期間就運用自己做的line bot 的生圖官方帳號 https://lin.ee/l1Nq8EB 運用自然語言描述生圖,先試試8個,測試上架,很快隔天就通知通過。 [可愛小犬
Thumbnail
在FB看到很多朋友分享用Ai生圖在後製上文字,去背之後就上架line貼圖,看起來似乎很簡單。 提供貼圖尺寸 過年期間就運用自己做的line bot 的生圖官方帳號 https://lin.ee/l1Nq8EB 運用自然語言描述生圖,先試試8個,測試上架,很快隔天就通知通過。 [可愛小犬
Thumbnail
台灣小說平台的使用心得&介紹,以及中國、日本平台的簡短分享
Thumbnail
台灣小說平台的使用心得&介紹,以及中國、日本平台的簡短分享
Thumbnail
最近加入了這個有趣的地方 ,收到了系統關切 ,怎麼還沒看到你的創作 文字,是人們用來溝通交流的工具。 常常會很佩服能把文字依照自己想法,打成一大串文章的創作者。 總是想像,能一直不斷的創作文章,以此維生的人,到底是如何文思泉湧的。 也許真的需要不斷的大量閱讀,才能有更多的文字素材可以隨時讓大
Thumbnail
最近加入了這個有趣的地方 ,收到了系統關切 ,怎麼還沒看到你的創作 文字,是人們用來溝通交流的工具。 常常會很佩服能把文字依照自己想法,打成一大串文章的創作者。 總是想像,能一直不斷的創作文章,以此維生的人,到底是如何文思泉湧的。 也許真的需要不斷的大量閱讀,才能有更多的文字素材可以隨時讓大
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News