注册

iOS组件化初探

一、创建本地化组件化

首先创建一个存储组件化的文件夹:例如

45c92929797a8acf4d5120e34e380fb6.jpg

组件化文件夹

cd到这个文件夹中,使用下边命令创建本地组件库
(注:我在创建的过程中,使用WiFi一直创建失败,后来连自己热点才能创建成功,可能跟我的网络有关系,这里加个提醒)

pod lib create UIViewcontroller_category_Module

之后会出出现创建组件的选项,如下图:

ef2fe325a60529fe8ffcf576c4c132fa.jpg

组件化创建选项
① 组件化适用的平台
② 组件化使用的语言
③ 组件化是否包含一个application
④ 组件化目前还不清楚是啥,直接选none即可
⑤ 组件化是否包含Test
⑥ 组件化文件的前缀

05e8bd235741f0998e5991b7185f6d8c.jpg

至此组件创建完成,此时会自动打开你创建的工程

二、 创建组件化功能

关闭当前工程,打开你创建的工程文件夹,在classes文件中,放入你的组件化代码,文件夹具体路径如下:

dc09f45023e10bda7291e6fcd711ef9c.jpg

安装本地库,cd到Example文件下,进行pod install:具体执行如下图:

c9c76bcdc2a8bd9bd9d25ad20b10e02d.jpg

打开Example文件夹中的工程:

87eb06fcae85e48b99d3f72ccc760dd9.jpg

此时可以看到导入本地库成功:

4d224d71e921ac1adfc273bb1a0701d1.jpg

导入头文件,此时就可以愉快的,使用了

269ce4d3f5d12c676221185e00eaafa0.jpg

三、制作多个本地库

关闭工程,重新cd到最外层文件夹

be24ffae29e91c25798939a5d702338e.jpg

使用:

pod lib create Load_pic_Module

后续创建步骤,选项参照一

四、添加资源文件

9dbff8677dc96f23a08e7888b3a4572a.jpg

之后cd到Example文件夹中,打开工程,在Load_pic_Module.podspec,添加图片资源的搜索路径,具体如下图所示:

# 加载图片资源文件
s.resource_bundles = {
'Load_pic_Module' => ['Load_pic_Module/Assets/*']
}

405a8d31a200458bbab2be8577c95e17.jpg

之后在命令行中,执行pod install指令,效果如下图所示:

5426633d2e1ee92f3738b8497517ad23.jpg

(注:每次对组件进行修改时,每次都需要进行一次pod install,这个很重要,切记)

五、添加本地其他依赖库

还是在Load_pic_Module工程中进行引入,在Podfile中进行本地库引入

# 添加本地其他依赖库
pod 'UIViewcontroller_category_Module', :path => '../../UIViewcontroller_category_Module'

8c6862a4d45eb3285e226a011168878b.jpg

执行pod install

六、添加外部引用库

有时候,也需要一些从网上下载的三方库,例如afn,masonry等

# 添加额外依赖库
s.dependency 'AFNetworking'
s.dependency 'Masonry'

添加位置如下

b6f11921770f87caeed28d3c4affb852.jpg

添加效果图

6618ecab729ab6ab20470bb73464a229.jpg

七、全局通用引入

作用:类似prefix header

#  s.prefix_header_contents = '#import "LGMacros.h"','#import "Masonry.h"','#import "AFNetworking.h"','#import "UIKit+AFNetworking.h"','#import "CTMediator+LGPlayerModuleAction.h"'
s.prefix_header_contents = '#import "Masonry.h"'

多个引入看第一条,单个引入是第二条
注:改完记得pod install

0 个评论

要回复文章请先登录注册