開車在路上,聽到廣播播報「國道三號 123K」,你能馬上知道在哪嗎?想去「台 7 線 77K」打卡,地圖卻不知從何查起?這個生活中的小痛點,就成了我這次鐵人賽專案的起點。在這 30 天,我將挑戰從零開始打造一款 iOS 公路定位 App,展開一場從點子到產品的完整軟體開發實踐。
技術上我會以 SwiftUI 為核心來開發 App,解析政府公開資料、整合 MapKit 與地理圍欄等功能。專案管理上,則引入 Azure DevOps,用 Azure Boards 規劃開發任務,並以 Azure Pipelines 建立 CI/CD 自動化流程,結合現代化開發思維的完整挑戰。
前言 在昨天的內容中,我們學會如何利用 Core Location 搭配 MapKit 即時取得並標記用戶的位置。今天,我們將實作地理圍欄(Geofencing...
前言 在 Day 1 的時候有提到,在我剛進公司時,公司正好在導入 Azure DevOps 作為專案管理工具。這讓我有機會從零開始學習如何使用這個工具,並且在...
前言 在我們開始繪製使用者介面之前,我們將先聚焦在使用者流程 (User Flow)。 這就好比建築師在蓋房子前,不會先煩惱沙發要買什麼顏色,而是會先畫出整棟建...
前言 今天我們來畫 App 畫面草圖,有了草圖,之後才有辦法按圖施工~ 手繪 Wireframe or AI 工具? Wireframe 一般來說,最初會從手繪...
前言 第一個進行的 issue 是「里程定位與地圖顯示」,先用 VS code 來看一下這兩份 CSV(省道與國道)長什麼樣子: 我們現在的目標是,讀取 CS...
前言 今天要做另一個重要功能,我們要讓使用者能根據選擇的公路類型(國道/省道)和輸入的里程數,從預載的 CSV 資料中進行搜尋,並在地圖上精準標示出對應的地理位...
今天要來填上核心的「搜尋」與「顯示」邏輯了,包含處理里程輸入,接收並驗證使用者輸入的公里數,並實作搜尋函式,處理不同里程格式的解析,找出最近的地理位置,最後在地...
在我們昨天的進度中,我們建立了一個選擇道路的 Picker。但正當我興高采烈地測試時,發現了一個奇怪的 bug:當我快速滑動 Picker 的選項列表,手指一放...
在 SwiftUi 中自訂元件樣式 當你使用 SwiftUI 框架提供的元件,通常來說你能夠自訂的部分不多,不然就會受到許多限制。以 Picker 來說,你能改...
今天我們先繼續把 UI 調整跟草圖接近一致。目前上半部的選項與下方的地圖區塊是分開的,為了讓選項卡片能夠疊在地圖上,我們要將這些既有元件放到 ZStack 裡。...