上一篇文章中我們學習了如何創建自己的 Framework,我這里的初衷是為了學習組件化開發。要知道組件化開發中可能會需要用到一些圖片等的文件。但是我們的 Framework 中只包含了代碼和頭文件。事實上Framework 也只能夠包含代碼和頭文件。所以這部分我們將會學習到通過 Bundle 來整合資源,并和 Framework 一起可以被發布。
仍舊是打開開發工程,確保你的靜態庫工程已經關閉了哦。點擊靜態庫工程,為 target 添加 bundle。仍舊是點擊+,在 macOS 分類中,選擇 bundle。創建成功后,你需要在Framework 工程中 Build Phases>Target Dependencies添加改資源包依賴,以確保導入你的 Framework 后,可以正常訪問到圖片等其他文件。
bundle.gif
可以看出我們創建的是 macOS的 Bundle,這里我們需要將其改為 iOS 平臺的,點擊資源包,在 Build Settings 里面搜索 Base SDK,修改為 iOS 平臺.將 Product Name 改為控件名(這里的作用暫時未知,大家可自行測試)。 搜索hidpi將COMBINE_HIDPI_IMAGES設置為NO.
ditto "${BUILT_PRODUCTS_DIR}/${RW_FRAMEWORK_NAME}.bundle" \
"${HOME}/Desktop/${RW_FRAMEWORK_NAME}.bundle"
粘貼好了以后,運行scheme 改為靜態庫 run,然后改為 bundle run 一遍,然后再 run 一遍 Framework。你會驚奇的發現,你的桌面上又多了個.bundle資源包。
還是老規矩,實踐是檢驗真理的唯一標準。向你的資源包工程中拖入一張圖片,去檢驗下。在開發工程中驗證下,看看你的添加是否成功。
現在,我們學會了如何創建一個自己的 Framework。那么誠如天才的你假如也開發了一組非常好用的組件,而且想共享出來方便其他開發者的使用,但是又不愿意暴露自己的關鍵代碼,封裝成一個 Framework 將會是一個很好的選擇,假如能把封裝好的Framework 上傳到 cocoapods ,那將更方便導入使用呢。所以下一步,一起學習把自己創建的 Framework 上傳到 cocoapods。(o?▽?)o