Xcode5之后,新建iOS工程,默认都是ARC模式,但是有时候我们的项目中需要用到一些第三方框架,我们下载下来却发现是非ARC的,这时候我们需要进行ARC和MRC混编。
第一种方式:
Edit->Refactor,转换成ARC方式
著名的iOS网络框架ASIHTTPRequest就是MRC,我们试试能不能转换成ARC
 
点击Check,我们发现悲剧了
多数情况下这种方式都会出错,那该怎么办呢?
 
第二种方式:
给编译器加标记
 
 
 
可以在Build Phases中的Compile Sources中加入编译标记-fno-objc-arc,确实可行,但是文件好多,这种方式适合文件比较少的情况,文件多了难道我们要一个一个加嘛,这时候我们可以借助一个工具xproj,这是一个脚本,可以很方便的给某个文件夹内的文件添加编译标记,具体使用方法我们看项目主页就行了,既可以给ARC项目添加MRC标记(-fno-objc-arc),也可以给MRC项目添加ARC标记(-fobjc-arc)
 
第三种方式:
打包成静态库
将我们将要使用的类拖入工程当中
勾选正确的target
将原来的类文件删除,只留我们需要的,然后我们将整个项目变为MRC
添加头文件
 
 
设置公共头文件
运行程序,我们发现静态库已经产生
这种方式的缺点就是如果需要改源码,就需要重新打包
最后一种方式,项目引用
新建一个项目,改为非ARC,在另一个项目中引用这个项目
我们需要把项目B中的无关文件删除掉
最后一种方式
自己重写成ARC方式

最新文章

  1. shell两数之间的算术运算
  2. swift 项目 oc 和 swift 混用,文件相互引用
  3. Oracle中的NVL函数
  4. .Net程序员安卓学习之路3:Post数据给网络API
  5. mysql之数据库基本概念(mysql学习笔记一)
  6. JQuery中的事件以及动画
  7. oracle存储过程返回数据集结果
  8. 你真的会用UIButton吗? UIButton详细介绍
  9. 在调用Qt库来实现功能过程中的一些总结
  10. To enable integrated Windows authentication in Windows Vista/IIS 7
  11. Closures in OOC
  12. CodeForces 660D Number of Parallelograms
  13. Neutron控制节点集群
  14. electron 学习笔记
  15. 漫谈Web缓存架构
  16. EFCore使用JSON_VALUE查询json对象的值
  17. linux (centOS)安装 oracle 11g 以及卸载oracle
  18. 1.2.2 Excel中手机号或身份证号批量加密星号
  19. Java并发(八):AbstractQueuedSynchronizer
  20. 【bzoj4417】[Shoi2013]超级跳马 矩阵乘法

热门文章

  1. Tomcat 的三种(bio,nio.apr) 高级 Connector 运行模式
  2. SVG 和字符图标
  3. 【转】Java与C#语言级比较
  4. <audio> 标签简介
  5. jquery 判断多组radio checkbox是否选中
  6. MYSQL SET类型字段的SQL查询某个字段保函某个值的查询
  7. mySql-数据库之存储过程学习总结
  8. Loader之二:CursorLoader基本实例
  9. C函数指针简单用例
  10. Azure File SMB3.0文件共享服务(3)