iOS App 專案結構
在開始寫程式之前,了解 Xcode 專案的檔案結構是非常重要的。當你建立一個新的 SwiftUI 專案時,Xcode 會自動生成一些檔案,每個檔案都有其特定的用途。
讓我們來解剖一個標準的 SwiftUI 專案結構。
專案導覽器 (Project Navigator)
在 Xcode 左側的側邊欄中,你可以看到專案的檔案列表。以下是主要檔案的說明:
1. [App名稱]App.swift (例如 MyAppApp.swift)
這是 App 的進入點 (Entry Point)。
在 SwiftUI 中,這個檔案通常包含一個標有 @main 的 Struct。它負責定義 App 的生命週期,並設定 App 啟動時顯示的第一個畫面(通常是 ContentView)。
import SwiftUI
@main
struct MyAppApp: App {
var body: some Scene {
WindowGroup {
ContentView() // 這裡是 App 的主視窗,顯示 ContentView
}
}
}
2. ContentView.swift
這是 Xcode 預設為你建立的第一個 UI 視圖 (View)。大多數的初始開發工作都會從這裡開始。它包含:
- 視圖定義:描述畫面長什麼樣子 (例如
Text("Hello, world!"))。 - 預覽提供者 (PreviewProvider):這段程式碼讓你在 Xcode 右側的 Canvas 中即時看到畫面預覽,而不需要執行模擬器。
3. Assets.xcassets
這是 資源目錄 (Asset Catalog),用來管理 App 所有的圖片、顏色、圖示 (App Icon) 等靜態資源。
- AppIcon:設定 App 在主畫面、設定頁面等地方顯示的圖示。
- Colors:你可以定義並命名顏色 (例如 "BrandColor"),方便在程式碼中重複使用,並支援淺色/深色模式自動切換。
- Images:存放 App 需要用到的圖片檔 (@1x, @2x, @3x)。
4. Info.plist (資訊屬性列表)
雖然現代的 Xcode 專案中,很多設定都已經移到專案設定 (Project Settings) 的 "Info" 標籤頁中,但 Info.plist (Information Property List) 的概念依然存在。它這是一個 XML 格式的設定檔,用來告訴 iOS 系統關於這個 App 的重要資訊,例如:
- App 需要使用哪些權限 (如相機、定位、麥克風)。
- App 支援的螢幕方向 (直向、橫向)。
- App 的版本號。
5. Preview Content
這個資料夾通常包含 Preview Assets.xcassets。這裡面的資源只會在開發階段的預覽 (Preview) 中使用,不會被打包到最終發布給使用者的 App 中。這很適合用來放一些測試用的假圖。
專案設定 (Project Settings)
點擊最上層的藍色圖示專案名稱 (例如 "MyApp"),會進入專案設定頁面。這裡可以設定:
- Deployment Target:App 支援的最低 iOS 版本 (例如 iOS 17.0)。
- Bundle Identifier:App 的唯一識別碼 (例如
com.example.MyApp),上架時非常重要。 - Signing & Capabilities:設定開發者帳號簽署,以及開啟特殊功能 (如 iCloud, Push Notification)。
了解這些結構後,你在開發過程中就不會迷路,知道該去哪裡修改設定或新增檔案了。接下來,我們將實際動手建立第一個 App!