上一篇文章中我们学习了如何创建自己的 Framework,我这里的初衷是为了学习组件化开发。要知道组件化开发中可能会需要用到一些图片等的文件。但是我们的 Framework 中只包含了代码和头文件。事实上Framework 也只能够包含代码和头文件。所以这部分我们将会学习到通过 Bundle 来整合资源,并和 Framework 一起可以被发布。
仍旧是打开开发工程,确保你的静态库工程已经关闭了哦。点击静态库工程,为 target 添加 bundle。仍旧是点击+,在 macOS 分类中,选择 bundle。创建成功后,你需要在Framework 工程中 Build Phases>Target Dependencies添加改资源包依赖,以确保导入你的 Framework 后,可以正常访问到图片等其他文件。
可以看出我们创建的是 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