iT邦幫忙

鐵人檔案

2025 iThome 鐵人賽
回列表
Mobile Development

SwiftUI x Azure DevOps:公路定位 App 開發全記錄 系列

開車在路上,聽到廣播播報「國道三號 123K」,你能馬上知道在哪嗎?想去「台 7 線 77K」打卡,地圖卻不知從何查起?這個生活中的小痛點,就成了我這次鐵人賽專案的起點。在這 30 天,我將挑戰從零開始打造一款 iOS 公路定位 App,展開一場從點子到產品的完整軟體開發實踐。

技術上我會以 SwiftUI 為核心來開發 App,解析政府公開資料、整合 MapKit 與地理圍欄等功能。專案管理上,則引入 Azure DevOps,用 Azure Boards 規劃開發任務,並以 Azure Pipelines 建立 CI/CD 自動化流程,結合現代化開發思維的完整挑戰。

鐵人鍊成 | 共 30 篇文章 | 1 人訂閱 訂閱系列文 RSS系列文 團隊邦邦不邦邦
DAY 21

[Day 21] 里程定位與地圖顯示(七)- TapGesture & Sheet

接續昨天的進度,現在地圖上的圖標已經能按照資料集的經緯度精確標出位置,並在圖標上方顯示道路名稱與里程數。然而,僅有這些資訊是不夠的,我們需要提供一個更豐富的互動...

2025-10-04 ‧ 由 arieshsieh0402 分享
DAY 22

[Day 22] 導向地圖 App - URL Scheme

今天要來完成將圖標地點用 Apple Maps 或 Google Maps 來開啟。 URL Scheme 要在 App 之間進行跳轉,就如同網站一般,URL...

2025-10-05 ‧ 由 arieshsieh0402 分享
DAY 23

[Day 23] 地理圍欄通知(一)

前言 今天要來完成的是地理圍欄(Geofencing)功能,讓使用者可以針對選定的里程位置訂閱通知,當進入/離開該區域時,會收到推播通知。 關於在 Loacti...

2025-10-06 ‧ 由 arieshsieh0402 分享
DAY 24

[Day 24] 地理圍欄通知(二)

前言 首先簡要回顧前幾天的進度: Day 11:我們實作了地理圍欄的核心功能,讓 App 能夠在用戶進入或離開特定區域時觸發事件 。 Day 21 &a...

2025-10-07 ‧ 由 arieshsieh0402 分享
DAY 25

[Day 25] 使用 XCTest 來建立單元測試

前言 CSV 資料的讀取與解析,這項功能是 App 的核心之一。然而,隨著專案越來越複雜,我們很可能會在未來的某個時候不小心改動到相關程式碼,或是 CSV 檔案...

2025-10-08 ‧ 由 arieshsieh0402 分享
DAY 26

[Day 26] iOS 自動化部署(一)- App Store 的前置作業

前言 時間來到了第 26 天,App「台灣公路 K 點通」(對,取名了XD) 核心功能已大致完成,是時候著手建立一套自動化的 CI/CD (持續整合/持續部署)...

2025-10-09 ‧ 由 arieshsieh0402 分享
DAY 27

[Day 27] 實現 iOS 自動化部署(二)- 設定 Azure Pipelines

前言 在上一篇文章中,我們完成了 iOS 專案的本地端準備工作。現在,我們將實際設定 Azure Pipelines,目標是讓專案能夠自動化建置並部署到 App...

2025-10-10 ‧ 由 arieshsieh0402 分享
DAY 28

[Day 28] 實現 iOS 自動化部署(三)- 建構完整的 Pipeline

為我們的 App 加上 logo 在我們開始寫我們的 pipeline 之前,我突然想到有一件很重要的事情,那就是為我們的 App 加上一個看起來很讚的 ico...

2025-10-11 ‧ 由 arieshsieh0402 分享
DAY 29

[Day 29] 提交 App Store 審查

前言 經過了前面 28 天的努力,我們的 App 終於來到提交審查的這一步。Apple 的 App Store 審查機制其實算是蠻嚴格的,確保每一款上架的 Ap...

2025-10-12 ‧ 由 arieshsieh0402 分享
DAY 30

[Day 30] Finish line: 一段 SwiftUI 與 DevOps 之旅

三十天的鐵人賽,像一場技術馬拉松,終於來到了終點線前。最初的目標很明確:結合我對 iOS 開發的熱情與工作上學習到的 DevOps 實踐,從零到一打造一款名為「...

2025-10-13 ‧ 由 arieshsieh0402 分享