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.lproj
和Root.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
文件拖進去即可使用,和普通的文件夾沒有什么區別。
將來的你,一定會感激現在拼命的自己,愿自己與讀者的開發之路無限美好。