iOS組件化之pod加載資源文件

前言 :加載資源文件有兩種狀況 Podfile 文件使用 use_frameworks! 和不使用 use_frameworks!swift

oc工程的podfile通常是不使用use_frameworks!的,swift和本身建立的lib庫是默認有的,關於這兩點的差別,若是不使用framework,pod裏的資源文件會被打成bundle放在mainbundle下面,因爲開發中每一個pod庫對於use_frameworks!的使用狀況不同

(一).使用****use_frameworks!

1.0 第一種方法使用resource_bundles

1.1 進入TJYNetWork.podspec把resource_bundles註釋打開

  1.2把資源加入Assets文件夾中


1.3 pod install 資源會出如今Resources文件下

1.4咱們使用常規取圖片的方式展現這張圖片.

UIImage *image = [UIImage imageNamed:@"1024"];
複製代碼

1.5 會發現展現不出來.

       爲何?markdown

       1.5.1 找到app Show in finderapp

   1.5.2 顯示包內容spa

1.5.3 找到bundle顯示包內容,會發現圖片在裏面3d

解釋:code

咱們使用imageName去讀圖片,會去主mainBundle裏面找圖片,可是咱們使用的是Podfile 文件使用 use_frameworks! ,pod庫會轉成framework,資源文件也在framework裏面,因此咱們要指定路徑.orm

獲取圖片方式圖片

2.第二種方法採用s.resources加載資源

  2.1進入TJYNetWork.podspec寫上resources和路徑

  1.2把資源加入Assets文件夾中

  1.3 pod install 資源會出如今Resources文件下

  1.4 查看資源位置

和上面一種方式對比:資源

其實相對於resource_bundles少了個打包的bundle,resource_bundles會自動建立一個bundle開發

1.5 獲取圖片方式

(二).不使用use_frameworks!

  1.0 第一種方法使用resource_bundles

     1.1和使用use_frameworks對比,資源路徑在哪?

     1.2 如今這個bundle就不在framework下面,直接在主包裏面.

1.3獲取資源圖片,只用換下路徑

2.第二種方法採用s.resources加載資源

    2.1.顯示包內容查看資源文件路徑

      

和上面不一樣的是上面的圖片資源所有被自動打包到TJYNetWork.bundle中,這個裏面的圖片資源沒有打包成bundle,而是直接顯示在主包mainBundle中的,這種方式加載圖片時能夠直接採用imageNamed,同時也不須要寫出完整的圖片名字

2.2 加載圖片

(三)    經過class類型查找對應的bundle目錄,這種在category中不能使用,雖然能夠經過傳入class的方式查找,可是容易出錯。

1.本身建一個bundle文件

加載圖片

相關文章
相關標籤/搜索