CocoaPods使用MRC编译

【CocoaPods使用MRC编译】项目中一些不常修改的模块,一般可以抽离出来放在github上,使用cocoapods来管理.
但是当模块中有些文件使用的是MRC编译时(如:Protoc文件),每次修改文件后提交到github,项目中更新cocoapods库后,需要MRC编译的文件就默认成ARC模式,丢失了之前设置的-fno-objc-arc设置.
我们可以使用cocoapods的subspec(子模块配置)来设置需要使用MRC的文件.

  1. 终端cd 到模块的根件目录.
  2. 打开"***.podspec"文件. $ vim ***.podspec.
  3. 添加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了.
至此所有工作完成.

    推荐阅读