天天看點

iOS - Bundle 資源檔案包1、Bundle 檔案2、制作 Bundle 檔案3、使用 Bundle 檔案

Bundle 檔案,簡單了解,就是資源檔案包。我們将許多圖檔、XIB、文本檔案組織在一起,打包成一個 Bundle 檔案。友善在其他項目中引用包内的資源。

Bundle 檔案是靜态的,也就是說,我們包含到包中的資源檔案作為一個資源包是不參加項目編譯的。也就意味着,bundle 包中不能包含可執行的檔案。它僅僅是作為資源,被解析成為特定的 2 進制資料。

1、建立 Bundle 項目

建立名為 SourcesBundle(最後要生成的 Bundle 檔案名稱)的工程,注意 Bundle 預設是 macOS 系統的,Xcode 高版本中需要在 macOS => Framework & Library 選項下找到。

iOS - Bundle 資源檔案包1、Bundle 檔案2、制作 Bundle 檔案3、使用 Bundle 檔案
iOS - Bundle 資源檔案包1、Bundle 檔案2、制作 Bundle 檔案3、使用 Bundle 檔案
iOS - Bundle 資源檔案包1、Bundle 檔案2、制作 Bundle 檔案3、使用 Bundle 檔案

2、修改 Bundle 配置資訊

因為 Bundle 預設是 macOS 系統的,所有需要修改他的資訊,修改成 iOS 系統。

iOS - Bundle 資源檔案包1、Bundle 檔案2、制作 Bundle 檔案3、使用 Bundle 檔案

設定 Build Setting 中的 <code>COMBINE_HIDPI_IMAGES</code> 為 NO,否則 Bundle 中的圖檔就是 tiff 格式了。

iOS - Bundle 資源檔案包1、Bundle 檔案2、制作 Bundle 檔案3、使用 Bundle 檔案

3、可選配置

作為資源包,僅僅需要編譯就好,無需安裝相關的配置,設定 Skip Install 為 YES。同樣要删除安裝路徑 Installation Directory 的值。

iOS - Bundle 資源檔案包1、Bundle 檔案2、制作 Bundle 檔案3、使用 Bundle 檔案
iOS - Bundle 資源檔案包1、Bundle 檔案2、制作 Bundle 檔案3、使用 Bundle 檔案

該資源包的 pch 檔案和 strings 檔案是可以删除的。

iOS - Bundle 資源檔案包1、Bundle 檔案2、制作 Bundle 檔案3、使用 Bundle 檔案

4、添加檔案

将資源檔案或檔案夾拖動到工程中的 SourcesBundle 檔案夾下面。

iOS - Bundle 資源檔案包1、Bundle 檔案2、制作 Bundle 檔案3、使用 Bundle 檔案
iOS - Bundle 資源檔案包1、Bundle 檔案2、制作 Bundle 檔案3、使用 Bundle 檔案

5、編譯生成 Bundle 檔案

我們分别選擇 Generic iOS Device 和任意一個模拟器各編譯一次,編譯完後,我們會看到工程中 Products 檔案夾下的 SourcesBundle.bundle 由紅色變成了黑色。

iOS - Bundle 資源檔案包1、Bundle 檔案2、制作 Bundle 檔案3、使用 Bundle 檔案
iOS - Bundle 資源檔案包1、Bundle 檔案2、制作 Bundle 檔案3、使用 Bundle 檔案
iOS - Bundle 資源檔案包1、Bundle 檔案2、制作 Bundle 檔案3、使用 Bundle 檔案

然後 show in finder,看看生成的檔案。我們看到它為真機和模拟器都生成了 .bundle 資源檔案。

iOS - Bundle 資源檔案包1、Bundle 檔案2、制作 Bundle 檔案3、使用 Bundle 檔案
iOS - Bundle 資源檔案包1、Bundle 檔案2、制作 Bundle 檔案3、使用 Bundle 檔案

選中 .bundle 檔案右鍵 顯示包内容,我們可以看到之前拖拽到工程中的資源檔案都在其中。

iOS - Bundle 資源檔案包1、Bundle 檔案2、制作 Bundle 檔案3、使用 Bundle 檔案
iOS - Bundle 資源檔案包1、Bundle 檔案2、制作 Bundle 檔案3、使用 Bundle 檔案

将生成的真機(Debug-iphoneos)Bundle 資源檔案拖拽到需要使用的工程中。

iOS - Bundle 資源檔案包1、Bundle 檔案2、制作 Bundle 檔案3、使用 Bundle 檔案

1、加載 Bundle 中的 xib 資源檔案

效果

iOS - Bundle 資源檔案包1、Bundle 檔案2、制作 Bundle 檔案3、使用 Bundle 檔案

2、加載 Bundle 中的圖檔資源檔案

指定絕對路徑的形式

拼接路徑的形式

宏定義的形式

iOS - Bundle 資源檔案包1、Bundle 檔案2、制作 Bundle 檔案3、使用 Bundle 檔案
iOS - Bundle 資源檔案包1、Bundle 檔案2、制作 Bundle 檔案3、使用 Bundle 檔案

繼續閱讀