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. ZOJ 3871 Convex Hull(计算几何、凸包)
  2. c语言指针疑惑[转载]
  3. make phpexcel working with XAMPP7.0.9
  4. Java(三)
  5. Jsonp简单认识(后端使用的是asp.net mvc)
  6. 代码中特殊的注释技术——TODO、FIXME和XXX的用处
  7. http://www.ibm.com/developerworks/cn/java/j-lo-junit-src/
  8. hdu 2818 Building Block (带权并查集,很优美的题目)
  9. Python核心编程(第七章)--映像和集合类型
  10. js阻止冒泡
  11. 数据结构与算法(c++)——跳跃表(skip list)
  12. webpack3.x基本配置与总结
  13. svn 回退/更新/取消至某个版本命令详解
  14. hibernate坑边闲话3
  15. centos 6 切换base源
  16. matlab入门笔记(七):数据文件I/O
  17. 学习笔记之Jira
  18. python数据库访问
  19. html5--移动端视频video的android兼容,去除播放控件、全屏等
  20. 三个小时学会wordpress模板制作

热门文章

  1. [Uva247][Tarjan求强连通分量][Calling Circles]
  2. kafka中处理超大消息的一些考虑
  3. JavaScript 【正则表达式验证数字代码】
  4. CSS的base文件常用代码
  5. css系列教程--简介及基础语法和注意事项
  6. 如何合并相同数据并转置(mysql)实现
  7. 不同css样式适应不同屏幕大小实现自适应宽度
  8. 引用 - PHP手册笔记
  9. Django学习(二) Django框架简单搭建
  10. 浅析 JavaScript 的函数节流和去抖