美文网首页
IOS ARC项目使用非ARC文件 MRC项目使用ARC文件

IOS ARC项目使用非ARC文件 MRC项目使用ARC文件

作者: 谁的青春不迷茫 | 来源:发表于2015-03-30 20:13 被阅读180次

SDK4.0引入了ARC,到现在已经一年了,开始发现有很多项目会混合使用这两个方案。比如:

1.自己的旧项目没有使用ARC,但是引入的第三方库却是使用了ARC的。

2.自己的新项目使用了ARC,但是引入的第三方库或者以前写的代码却没有使用ARC。

这两种情况下,直接肯定是通不过编译的。可以通过升级旧项目,让其使用ARC来解决,但这个办法有时候会很麻烦。

有一个简单的办法就是,可以指定单个文件是否采用ARC来进行编译。

方法就是在Build Phase里面的Compile Source里面找到需要特殊处理的文件,加上编译选项(Compiler Flags),具体针对上面两种情况有所区别。

1.对于第一个情况,给采用了ARC的源文件,添加-fobjc-arc选项

2.对于第二种情况,添加-fno-objc-arc

此外,xcode貌似有点问题,在点击某个源文件的Compiler Flags条目的时候,应该显示光标的地方却什么也没有提示,输入字符也没有echo,只有敲完之后,选择其它文件才能看到添加的编译选项···这真无语。。

对于新写的各种插件,可以这么干:

-(void)dealloc{//do something in common#if !__has_feature(objc_arc)[superdealloc];#else//nothing#endif}

让它在arc和非arc都可用。

相关文章

  • IOS ARC项目使用非ARC文件 MRC项目使用ARC文件

    SDK4.0引入了ARC,到现在已经一年了,开始发现有很多项目会混合使用这两个方案。比如: 1.自己的旧项目没有使...

  • ARC与MRC混编修改方法

    1 MRC项目加添ARC页面:MRC项目中添加ARC的文件,可以使用 -fobjc-arc 标记即可。 2 为MR...

  • 如何混合使用ARC和非ARC

    如果你的项目使用的非ARC模式,则为ARC模式的代码文件加入-fobjc-arc标签。如果你的项目使用的ARC模式...

  • ARC和MRC混编

    在ARC中使用MRC文件修改项目的 build passes -->ComplySources 在需要支持的文件后...

  • MRC,ARC混编环境配置

    MRC --- ARC(让ARC文件在MRC的环境下进行ARC编译) -fobjc-arc ARC --- MRC...

  • FMDB之间的使用

    ARC 和 MRC 项目中使用 ARC 还是 MRC,对使用 FMDB 都没有任何影响,FMDB 会在编译项目时自...

  • MRC & ARC

    项目如何判断是用MRC还是ARC呢? 如何让项目支持MRC或者支持ARC?给文件添加flags -fobjc-ar...

  • ARC和MRC的混合开发

    给ARC项目添加MRC标记-fno-objc-arc 给MRC项目添加ARC标记-fobjc-arc

  • iOS中MRC和ARC混编

    给ARC项目添加MRC标记(-fno-objc-arc),也可以给MRC项目添加ARC标记(-fobjc-arc)...

  • iOS 开发,工程中混合使用 ARC 和非ARC

    【解决方案】Xcode 项目中我们可以使用 ARC 和非 ARC 的混合模式。如果你的项目使用的非 ARC 模式,...

网友评论

      本文标题:IOS ARC项目使用非ARC文件 MRC项目使用ARC文件

      本文链接:https://www.haomeiwen.com/subject/xwfoxttx.html