【iOS 開發】將圖片、聲音等資源文件打包為 Bundle 的方法

bundle

最近在將項目部分代碼打包成 Framework 的時候,需要將其中的圖片等資源文件打包為 Bundle 來使用,所以簡單的了解了一下,事實上 Bundle 就是一個普通得不能再普通的文件夾, 只是加上了 .bundle 后綴而已,下面分享一下打包及使用方法。


1. 創建 Bundle 文件

創建 Bundle 文件有兩種方法,是沒有區別的,用哪種方法自己選擇。

  • 一種是在項目中按下 command + N ,或者右鍵項目文件夾點擊 New File ,選擇 iOS - Resource - Settings Bundle 。
創建 Bundle 文件
  • 另一種是在項目根目錄創建一個文件夾,然后重命名文件夾為 xxx.bundle ,然后將 Bundle 文件拖進項目中即可,加上 .bundle 后綴的文件夾會被 Mac 自動識別為一個 Bundle 包。
創建 Bundle 文件

2. 添加資源文件

這個文件在運行的時候不會被編譯到,所以此文件中存儲的內容必須是資源文件(比如圖片、聲音),不能是編譯的文件(比如能編譯運行的代碼)。

  • 自帶的 en.lprojRoot.plist 用不到的可以刪除掉,將需要加入 Bundle 的資源文件直接拖進項目中的 .bundle 下。
添加資源文件
  • 或者去根目錄下,右鍵 Bundle 點擊 顯示包內容 ,將資源文件直接放進去即可。
添加資源文件

3. 使用 Bundle 文件內資源

  • 以圖片為例,先獲取 Bundle 文件路徑,然后使用圖片路徑來引用圖片。
NSString *path = [[NSBundle mainBundle] pathForResource:@"xxx" ofType:@"bundle"];
UIImage *image = [UIImage imageWithContentsOfFile:[path stringByAppendingPathComponent:@"xxx.png"]];
  • 如果想要獲取 Bundle 對象,就使用以下方法:
NSBundle *bundle = [NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:@"xxx" ofType:@"bundle"]];

方法就是這樣,別的項目中要使用的話直接將 Bundle 文件拖進去即可使用,和普通的文件夾沒有什么區別。

將來的你,一定會感激現在拼命的自己,愿自己與讀者的開發之路無限美好。

我的傳送門: 博客簡書 、微博 、GitHub 。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容