zoukankan      html  css  js  c++  java
  • ARC、MRC混编

    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方式
  • 相关阅读:
    [Docker][ansible-playbook]3 持续集成环境之分布式部署
    [Jenkins][GitHub]2 持续集成环境初探
    [Jenkins][centos]1 持续集成 之 配置VNC,部署Jenkins
    [AWS][GUI][VNC]rhel 7 安装GUI ,配置VNC
    [Git]checkout 指定版本
    [Golang][Mac]Go 语言学习资料记录
    App测试札记
    摘记:代码检查错误列表
    摘记:Web应用系统测试内容
    摘记:LoadRunner
  • 原文地址:https://www.cnblogs.com/GhostKZShadow/p/5382053.html
Copyright © 2011-2022 走看看