官术网_书友最值得收藏!

  • SwiftUI極簡開發
  • 李智威
  • 2262字
  • 2024-07-24 11:31:34

1.6 項目文件結構詳解

最左側的項目文件導航區域會存放所有與項目相關的文件,包含項目主文件、視圖文件、資源庫文件、預覽配置文件等,開發者也可以自行創建文件和文件夾來完善項目內容。項目文件導航區域如圖1-25所示。

圖1-25 項目文件導航區域

可以看到視圖文件ContentView放置在項目的文件中,通過單擊文件,代碼編輯區域和實時預覽窗口將會自動切換展示內容。

1.6.1 項目主文件

項目文件導航區域中最上面的“Chapter1”文件為項目主文件,所有與項目相關的文件都會放置在此文件的目錄層級之下,且該文件還可以用于進行項目的各項配置。項目主文件如圖1-26所示。

圖1-26 項目主文件

項目主文件分為“PROJECT”和“TARGETS”兩部分,PROJECT部分包含配置該項目的基礎信息,包括該項目開發和測試的版本、使用的語言,以及使用的第三方庫等情況。

由于Apple每年都會更新SwiftUI框架的內容,新推出的UI視圖可能需要較高的iOS版本,因此在PROJECT部分可以設置該項目開發的版本,項目開發的版本如圖1-27所示。

圖1-27 項目開發的版本

其他配置在后續的章節中將會使用,可以先保持默認選項,下面來看TARGETS部分。單個PROJECT下會有多個TARGETS。例如該應用除了iOS端的項目,還包含Widget項目,抑或watchOS端的項目,開發者可以在現有的項目基礎上直接創建其他子項目,TARGETS部分就會整合并關聯所有的子項目的相關配置。

在當前項目中,可以在TARGETS部分的“Supported Destinations”欄目下配置項目支持的平臺,iOS項目默認可以在iOS、iPadOS、macOS(搭載M系列芯片)平臺上運行,開發者也可以自行添加或刪除項目所支持的平臺,項目支持平臺如圖1-28所示。

圖1-28 項目支持平臺

與項目支持平臺相關聯的配置還有“Minimum Deployments”欄目,該欄目用于配置項目運行的最低iOS版本。每年Apple都會對各平臺的操作系統進行大版本更新,而每次更新時一些發布較早的產品將不再支持新版本的特性。

當開發iOS項目時,SwiftUI的某些功能特性也會要求最低iOS版本,當該應用正式發布到Apple Store時,也需要制定最低iOS版本。Xcode默認的最低iOS版本為當前最新iOS版本,開發者可以根據項目需求自行選擇合適的iOS版本,最低iOS版本如圖1-29所示。

圖1-29 最低iOS版本

“Identity”欄目用于設置應用的基本信息,包含應用的分類、顯示的名稱、標識符、版本號等,應用的基本信息如圖1-30所示。

圖1-30 應用的基本信息

“Deployment Info”欄目可以設置項目運行設備的方向及頂部狀態欄配置信息,例如設置在iPhone設備上運行時,只支持用戶手持時的縱向布局,而在iPad設備上運行時,支持任意方向布局。

頂部狀態欄的配置信息可以根據業務設置為默認,或者只以淺色模式或深色模式固定,抑或在應用運行時不使用頂部狀態欄的全屏顯示模式。運行設備設置如圖1-31所示。

圖1-31 運行設備設置

“App Icons and Launch Screen”欄目可以設置應用圖標的來源和啟動頁的文件路徑。應用圖標的來源和啟動頁的文件路徑設置如圖1-32所示。

圖1-32 應用圖標的來源和啟動頁的文件路徑設置

默認情況下應用圖標的來源為資源庫Assets中的“AppIcon”文件,對于這個配置項,開發者可以不做調整。啟動頁默認為空,開發者可以創建一個Storyboard類型的文件,通過繪制的方式完善啟動頁的UI設計,這部分內容將會在后續的章節中進行更詳細的分享。

其他欄目的配置項使用得較少,保持默認即可。TARGETS部分還有一個特別重要的欄目,該欄目可用于權限的配置,在“Info”選項卡下,每當項目中需要調用iOS硬件設備時,都需要在此選項卡下的“Custom macOS Application Target Properties”欄目中配置相關權限。權限配置欄目如圖1-33所示。

圖1-33 權限配置欄目

1.6.2 項目入口文件

再回到項目主文件Chapter1中,第一個文件是“Chapter1App”,在Chapter1App文件中,可以看到和ContentView文件相似的代碼。Chapter1App文件中的代碼如圖1-34所示。

圖1-34 Chapter1App文件中的代碼

在Chapter1App中,使用Swift 5.3發布的@main屬性包裝器修飾整個Chapter1App結構體,即將遵循App協議的Chapter1App結構體中的視圖作為App打開時的默認視圖。簡單來說,當用戶打開App時,App默認顯示的“首頁”就是Chapter1App中配置的視圖。

與View協議類似,App協議中也需要一個body屬性的視圖容器作為入口,而入口遵循Scene協議,通過WindowGroup來顯示應用被打開時顯示的視圖,默認為ContentView視圖。

在實際開發過程中,打開App時默認顯示的頁面可能是“首頁”,或者是“登錄頁”“引導頁”。在更復雜的場景下,開發者可以增加判斷條件,根據用戶是否登錄和是否首次進入來呈現不同的頁面。

WindowGroup可以更好地處理這種復雜場景,它通過將不同的視圖添加到視圖組中,自動管理需要顯示的視圖,甚至通過不同的平臺來管理視圖的呈現方式。可以按住“option”鍵并單擊WindowGroup,查看Apple官方對WindowGroup的說明,WindowGroup的說明文檔如圖1-35所示。

圖1-35 WindowGroup的說明文檔

1.6.3 Assets庫

Assets庫是存放當前項目的素材內容的文件夾,可以存放包含應用圖標、圖片素材、顏色素材等文件。

在實際開發過程中,為保障App質量和UI風格的統一,UI設計師常常針對某一款App設計一套UI設計規范,設計規范中規定了App的色彩、字體、應用圖標等。開發者可以提前將符合相關規范的素材文件拖入Assets庫中,Assets庫中的文件可以直接在項目中被調用。Assets庫如圖1-36所示。

圖1-36 Assets庫

除了自行導入素材,Apple還提供了內置的圖標資源庫SF Symbols(SF符號)供開發者使用,這對獨立開發者有很大的幫助。截至2023年10月,SF Symbols圖標資源庫中的圖標數量已經達到5000多個,且無須在項目中安裝即可直接使用。

Apple SF Symbols 5官方下載地址為https://developer.apple.com/cn/sf-symbols/。

為了方便開發,開發者可以下載SF Symbols圖標資源庫到本地,便于快速查詢所需要的圖標的名稱,SF Symbols圖標資源庫如圖1-37所示。

圖1-37 SF Symbols圖標資源庫

SF符號的使用方式很簡單,只需要借助Image視圖,并調用其systemName參數,直接使用SF符號的名稱即可顯示對應圖標。使用SF符號如圖1-38所示。

圖1-38 使用SF符號

1.6.4 Preview Content文件夾

最后一個文件夾是Preview Content文件夾,用于存放開發者在測試應用時使用的素材或者文件,此部分內容會在應用打包上架時被自動過濾,因此可以存放臨時的素材文件,例如本地視頻文件、音頻文件等。Preview Content文件夾如圖1-39所示。

圖1-39 Preview Content文件夾

主站蜘蛛池模板: 屏南县| 河东区| 叶城县| 海阳市| 获嘉县| 高唐县| 田阳县| 三明市| 吐鲁番市| 弥渡县| 星子县| 基隆市| 赤水市| 灵宝市| 木兰县| 江达县| 夹江县| 寻乌县| 福泉市| 浙江省| 龙川县| 大兴区| 九龙坡区| 鲁山县| 潼南县| 体育| 通化市| 龙山县| 宜君县| 维西| 进贤县| 洪湖市| 陵水| 鹤壁市| 安龙县| 富川| 盖州市| 闽清县| 游戏| 通榆县| 南城县|