Xcode ARC,非ARC混搭

原文地址:IOS开发之----Xcode非ARC项目中设置部分文件ARC支持作者:倒計時

ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting)。简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了。该机制在 iOS 5/ Mac OS X 10.7 开始导入,利用 Xcode4.2 可以使用该机制。简单地理解ARC,就是通过指定的语法,让编译器(LLVM 3.0)在编译代码时,自动生成实例的引用计数管理部分代码。有一点,ARC并不是GC,它只是一种代码静态分析(Static Analyzer)工具。

那么在xCode中经常需要导入一些外来的代码文件,如果导入的文件使用了ARC机制而你的当前项目没有使用ARC,那么xCode会给出警告,或者报错。我们该如何处理这些问题呢:

点击项目导航文件--> 选中Targets--> 选择 Build Phases --> 展开Compile Sources

这个时候,我们看到第二列的名称为:Compiler Flags

双击你所要使用ARC的文件,并输入 -fobjc-arc,

那么现在这个文件就可以在编译时使用ARC机制进行编译了。

同上,如果想让使用ARC机制的代码不使用ARC机制,只需要输入 -fno-objc-arc

@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);

时间: 2024-10-12 19:02:18

Xcode ARC,非ARC混搭的相关文章

ARC非ARC混合编程

1 将非arc转成arc edit??convert??to objective-c ARC  ?? 如果不成功试以下方法 2 target中build phases下compile source中非arc的标记为 -fno-objc-arc(如果文件过多,这种方法太笨,不太适合) 3 到处静态库:选中要导出的文件夹 file??new??project??ios下framework&library??cocoatouch static library 命名保存,将要打包到库里的文件拖到项目中

Xcode 的ARC转化功能以及跟非ARC共存方法

1.ARC工程跟非ARC文件的共存方法: 在工程中选择 Build Phases 然后选择Compile Sources 里面,找到需要共存的非ARC文件,然后按Enter键,在弹出的窗口中填入:-fno-objc-arc 即可. 2.在非ARC工程中跟ARC文件共存的方法: 在工程中选择 Build Phases 然后选择Compile Sources 里面,找到需要共存的非ARC文件,然后按Enter键,在弹出的窗口中填入:-f-objc-arc 即可. 3.把非ARC文件直接转换成ARC文

XCode工程中ARC模式与非ARC模式共用(转)

Xcode 项目中经常会融合一些老的代码,它们可能采用非ARC的模式.混合编译时,就会碰到编译出错的情况. 如何共用ARC模式和非ARC模式呢? XCode除了提供整个项目是否使用ARC模式的选择外,还可以对单个文件添加标签来指定是否采用ARC模式. 添加标签的方法: 打开:你的target -> Build Phases -> Compile Sources. 双击对应的 *.m 文件 在弹出窗口中输入上面提到的标签-fobjc-arc / -fno-objc-arc (1)如果你的项目使用

Xcode非ARC项目中设置部分文件ARC支持

ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting).简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了.该机制在 iOS 5/ Mac OS X 10.7 开始导入,利用 Xcode4.2 可以使用该机制.简单地理解ARC,就是通过指定的语法,让编译器(LLVM 3.0)在编译代码时,自动生成实例的引用计数管理部分代码.有一点,ARC并不是GC,它只是一种代

非ARC项目转换成ARC项目的相关支持

1.将项目编译环境改成arc 将红圈处从No 改成Yes 如果你现在的工程不支持ARC技术,你可以通过一个自动转换工具来转换你的工程(工具在Edit>Refactor>Convertto Objective-C ARC),这个工具会自动所有工程中手动管理内存的点转换成合适自动方式的(比如移除retain, release等).这个工具会转换工程中所有的文件.当然你可以转换单个文件. 2.下面的这些函数:dealloc,retain, release, retainCount, autorele

让ios项目同时支持ARC和非ARC

ttp://code4app.com/snippets/one/禁止某几个文件用ARC模式编译/502344256803fa246d000000#s0 如果你的绝大部分代码需要ARC,那么就设置项目支持ARC,然后对于一些不需要ARC的文件,在要禁止ARC编译的源文件的 “compiler flags” 中添加 “-fno-objc-arc”. 对于 Xcode 4, 可以在 target -> Build Phases -> Compile Sources 中找到“compiler flag

大钟的ios开发之旅(2)————简单说说ios中ARC与非ARC模式下的property的变量修饰词

/******************************************************************************************** * author:[email protected]大钟 * E-mail:[email protected] *site:http://www.idealpwr.com/ *深圳市动力思维科技发展有限公司 * http://blog.csdn.net/conowen * 注:本文为原创,仅作为学习交流使用,转

ARC 与非ARC 之间的转换,以及如何使一个项目中,ARC与非ARC共存

1,非ARC 转 ARC的操作 XCode 的 Edit -- Refactor -- Convert to Object-C ARC (注意,一般在一个大项目中,很少直接使用此方法,其正确率有待考虑,毕竟手动内存管理较为复杂,如果出现错误,很难排查) 2,ARC 与 非ARC共存 需求来源:当我们在项目中使用一些古老的框架时,该框架就可能使用手动内存管理.而公司开发的项目可能采取ARC.此时如何将两者整合到一起? 解决方法:选中改项目---Build Phase -- 双击非ARC 文件,输入

iOS开发—在ARC环境中,要使用第三方框架,但是这个框架是MRC(非ARC),怎么做?

在ARC环境中,要使用第三方框架,但是这个框架是MRC(非ARC),怎么做? 利用Xcode,将MRC项目转换成ARC ,但是成功率非常低 (菜单—Edit—Refactor—Conver to Object c ARC ...) 自己手动改,效率低,工作量大,非常容易出错 (推荐)如果是使用第三方框架,只需要把第三方框架打包成一个静态库就可以使用 设置MRC(非ARC)参数 设置添加动态库