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 自動化流程,結合現代化開發思維的完整挑戰。

參賽天數 23 天 | 共 23 篇文章 | 1 人訂閱 訂閱系列文 RSS系列文 團隊邦邦不邦邦
DAY 11

[Day 11] Geofencing — 實作地理圍欄功能

前言 在昨天的內容中,我們學會如何利用 Core Location 搭配 MapKit 即時取得並標記用戶的位置。今天,我們將實作地理圍欄(Geofencing...

2025-09-24 ‧ 由 arieshsieh0402 分享
DAY 12

[Day 12] 以 Azure Boards 規劃我們的 SwiftUI App

前言 在 Day 1 的時候有提到,在我剛進公司時,公司正好在導入 Azure DevOps 作為專案管理工具。這讓我有機會從零開始學習如何使用這個工具,並且在...

2025-09-25 ‧ 由 arieshsieh0402 分享
DAY 13

[Day 13] UI/UX 規劃 (一) - 使用者流程

前言 在我們開始繪製使用者介面之前,我們將先聚焦在使用者流程 (User Flow)。 這就好比建築師在蓋房子前,不會先煩惱沙發要買什麼顏色,而是會先畫出整棟建...

2025-09-26 ‧ 由 arieshsieh0402 分享
DAY 14

[Day 14] UI/UX 規劃 (二) - App 畫面草圖

前言 今天我們來畫 App 畫面草圖,有了草圖,之後才有辦法按圖施工~ 手繪 Wireframe or AI 工具? Wireframe 一般來說,最初會從手繪...

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

[Day 15] 里程定位與地圖顯示(一)- 資料讀取

前言 第一個進行的 issue 是「里程定位與地圖顯示」,先用 VS code 來看一下這兩份 CSV(省道與國道)長什麼樣子: 我們現在的目標是,讀取 CS...

2025-09-28 ‧ 由 arieshsieh0402 分享
DAY 16

[Day 16] 里程定位與地圖顯示(二)- Enum 與 Picker 搭配

前言 今天要做另一個重要功能,我們要讓使用者能根據選擇的公路類型(國道/省道)和輸入的里程數,從預載的 CSV 資料中進行搜尋,並在地圖上精準標示出對應的地理位...

2025-09-29 ‧ 由 arieshsieh0402 分享
DAY 17

[Day 17] 里程定位與地圖顯示(三)- 實作搜尋邏輯

今天要來填上核心的「搜尋」與「顯示」邏輯了,包含處理里程輸入,接收並驗證使用者輸入的公里數,並實作搜尋函式,處理不同里程格式的解析,找出最近的地理位置,最後在地...

2025-09-30 ‧ 由 arieshsieh0402 分享
DAY 18

[Day 18] 里程定位與地圖顯示(四)- Picker 滑動時會亂跳?開立 bug 單吧!

在我們昨天的進度中,我們建立了一個選擇道路的 Picker。但正當我興高采烈地測試時,發現了一個奇怪的 bug:當我快速滑動 Picker 的選項列表,手指一放...

2025-10-01 ‧ 由 arieshsieh0402 分享
DAY 19

[Day 19] 里程定位與地圖顯示(五)- 自訂元件樣式

在 SwiftUi 中自訂元件樣式 當你使用 SwiftUI 框架提供的元件,通常來說你能夠自訂的部分不多,不然就會受到許多限制。以 Picker 來說,你能改...

2025-10-02 ‧ 由 arieshsieh0402 分享
DAY 20

[Day 20] 里程定位與地圖顯示(六)- 佈局調整

今天我們先繼續把 UI 調整跟草圖接近一致。目前上半部的選項與下方的地圖區塊是分開的,為了讓選項卡片能夠疊在地圖上,我們要將這些既有元件放到 ZStack 裡。...

2025-10-03 ‧ 由 arieshsieh0402 分享