咱們會將本身開發的開源框架或者私有框架上傳至遠程倉庫, 在這些框架中可能會用到一些資源文件, 好比: 圖片資源, 視頻資源, 音頻資源等框架
本編中主要講述的是, 上傳至遠程倉庫的框架中, 資源的添加和引用問題 下面使用的工程是在本地建立的CocoaPods私有庫中的測試工程, 具體建立方法能夠看 iOS開發: 配置CocoaPods遠程私有倉庫post
當使用CocoaPods管理遠程倉庫的代碼時, 都會有一個podspec文件, 在這個文件中, 咱們須要加入幾句代碼來表示須要引用的資源, 路徑等, 以下圖: 測試
上述圖片中的路徑位置在下面的圖中 3d
將圖片資源放在Assets文件夾中 cdn
當圖片放置好, podspec文件也添加引用資源的代碼後, 使用終端cd到當前工程, 並執行pod install 視頻
使用CocoaPods添加的代碼庫, 在工程編譯後, 圖片等資源會在包的下圖位置中 blog
使用代碼查找當前文件所在的bundle包能夠使用NSBundle類的 + (NSBundle *)bundleForClass:(Class)aClass; 方法索引
Xib文件的引用方法圖片
Xib文件位置 資源
注意: 使用 [NSBundle mainBundle] 找到的bundle並非Pods庫中文件所在的直接Bundle
圖片資源都會在LTFM.bundle包中, 因此在引用圖片的時候, 不能使用 [UIImage imageNamed:@"圖片名"] 的方式, 而是須要使用圖片路徑來加載圖片
因爲圖片名稱必須寫全, 因此在適配2x, 3x圖的時候, 能夠使用下面的方法獲取當前屏幕須要使用的圖片倍率, 進行動態適配圖片
若是直接使用[UIImage imageNamed:@"圖片名"] 查找圖片, 那麼就不會加載出來
若是是Xib中加載的圖片, 那麼能夠在圖片名字前面拼接圖片的 包名 就能夠了, 例如要加載的圖片名字是 tabbar_np_shadow@2x.png, 那麼使用的事就只須要寫成 [LTFM.bundle/tabbar_np_shadow]就能夠了
在測試工程中測試完畢後, 就能夠添加到遠程私有倉庫了, 並將podspec文件配置好後, 傳到遠程索引庫便可
注意: 使用CocoaPods加載的第三方庫中若是有xib文件, 那麼就要注意, 以下圖