
bundle
最近在將項(xiàng)目部分代碼打包成
Framework的時(shí)候,需要將其中的圖片等資源文件打包為Bundle來使用,所以簡(jiǎn)單的了解了一下,事實(shí)上Bundle就是一個(gè)普通得不能再普通的文件夾, 只是加上了.bundle后綴而已,下面分享一下打包及使用方法。
1. 創(chuàng)建 Bundle 文件
創(chuàng)建 Bundle 文件有兩種方法,是沒有區(qū)別的,用哪種方法自己選擇。
- 一種是在項(xiàng)目中按下
command + N,或者右鍵項(xiàng)目文件夾點(diǎn)擊New File,選擇iOS-Resource-Settings Bundle。

創(chuàng)建 Bundle 文件
- 另一種是在項(xiàng)目根目錄創(chuàng)建一個(gè)文件夾,然后重命名文件夾為
xxx.bundle,然后將Bundle文件拖進(jìn)項(xiàng)目中即可,加上.bundle后綴的文件夾會(huì)被Mac自動(dòng)識(shí)別為一個(gè)Bundle包。

創(chuàng)建 Bundle 文件
2. 添加資源文件
這個(gè)文件在運(yùn)行的時(shí)候不會(huì)被編譯到,所以此文件中存儲(chǔ)的內(nèi)容必須是資源文件(比如圖片、聲音),不能是編譯的文件(比如能編譯運(yùn)行的代碼)。
- 自帶的
en.lproj和Root.plist用不到的可以刪除掉,將需要加入Bundle的資源文件直接拖進(jìn)項(xiàng)目中的.bundle下。

添加資源文件
- 或者去根目錄下,右鍵
Bundle點(diǎn)擊顯示包內(nèi)容,將資源文件直接放進(jìn)去即可。

添加資源文件
3. 使用 Bundle 文件內(nèi)資源
- 以圖片為例,先獲取
Bundle文件路徑,然后使用圖片路徑來引用圖片。
NSString *path = [[NSBundle mainBundle] pathForResource:@"xxx" ofType:@"bundle"];
UIImage *image = [UIImage imageWithContentsOfFile:[path stringByAppendingPathComponent:@"xxx.png"]];
- 如果想要獲取
Bundle對(duì)象,就使用以下方法:
NSBundle *bundle = [NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:@"xxx" ofType:@"bundle"]];
方法就是這樣,別的項(xiàng)目中要使用的話直接將
Bundle文件拖進(jìn)去即可使用,和普通的文件夾沒有什么區(qū)別。
將來的你,一定會(huì)感激現(xiàn)在拼命的自己,愿自己與讀者的開發(fā)之路無限美好。