项目中一些不常修改的模块,一般可以抽离出来放在github上,使用cocoapods来管理.
但是当模块中有些文件使用的是MRC编译时(如:Protoc文件),每次修改文件后提交到github,项目中更新cocoapods库后,需要MRC编译的文件就默认成ARC模式,丢失了之前设置的-fno-objc-arc
设置.
我们可以使用cocoapods的subspec(子模块配置)来设置需要使用MRC的文件.
- 终端cd 到模块的根件目录.
- 打开"***.podspec"文件.
$ vim ***.podspec
. - 添加subspec
// 需要设置MRC的文件相对路径,此处设置了2个文件夹
mrc_files = 'A/B/C/*.{h,m}', 'A/D/E/F/*.{h, m}'
// 默认是采用ARC编译的,此处先将MRC文件排除一下
s.exclude_files = mrc_files
// 设置subspec
s.subspec 'mrc' do |sp|
sp.source_files = mrc_files
sp.requires_arc = false
end
然后在project-target-build Phases
给MRC文件添加-fno-objc-arc
,提交到github.
再在项目中更新github的模块后MRC文件后面就会带有-fno-objc-arc
了.
至此所有工作完成.