iOS ARC与MRC混编的一些解决方法

1. ARC & MRC 混合开发

在项目开发中,遇到使用MRC开发的第三方库怎么办?

例如:ASI

1> 尝试使用Xcode的转换工具(失败率比较高)

2> 在编译选项中,为MRC的程序添加-fno-objc-arc标记,表明在编译时,该文件使用MRC编译

备注:

(1) 演示中使用的RegexKitLite还需要导入libicucore.dylib动态库

(2) 如果要在MRC项目中添加ARC的文件,可以使用 -fobjc-arc 标记即可

3> 将MRC的第三方库直接编译成静态库使用

注意:在编译静态库时,不能添加动态库引用

说明:

RegexKitLite是对NSString添加的正则表达式分类

*** 在项目中,如果使用的静态库中包含分类,则需要在Other Link Flag中添加 -ObjC选项

时间: 2024-12-12 12:36:52

iOS ARC与MRC混编的一些解决方法的相关文章

iOS ARC和MRC混编

如果一个工程为MRC,其中需要添加ARC的文件: 选择target  ->  build phases  ->  compile sources  ->单击ARC的文件将compile flags设置为: -fobjc - arc 如果一个工程为ARC,其中要添加MRC的文件: 选择target  ->  build phases  ->  compile sources  ->单击MRC的文件将compile flags设置为: - fno -objc -arc

ios-实现ARC与MRC混编

选择target -> build phases -> compile sources -> 用ARC的文件将compiler flags设置为:-fobjc-arc,用MRC的文件将compiler flags设置为:-fno-objc-arc. 同样,如果一个项目用ARC,而某个文件需要用MRC,只需要在compiler sources中将该文件的 compiler flags设置为-fno-objc-arc即可. ios-实现ARC与MRC混编

ARC、MRC混编

Xcode5之后,新建iOS工程,默认都是ARC模式,但是有时候我们的项目中需要用到一些第三方框架,我们下载下来却发现是非ARC的,这时候我们需要进行ARC和MRC混编. 第一种方式: Edit->Refactor,转换成ARC方式 著名的iOS网络框架ASIHTTPRequest就是MRC,我们试试能不能转换成ARC 点击Check,我们发现悲剧了 多数情况下这种方式都会出错,那该怎么办呢? 第二种方式: 给编译器加标记 可以在Build Phases中的Compile Sources中加入编

ARC和MRC混编

-fno-objc-arc   === 告诉编译器是MRC -f-objc-arc   === 告诉编译器是ARC

iOS开发之ARC MRC混编

Xcode5之后,新建iOS工程,默认都是ARC模式,但是有时候我们的项目中需要用到一些第三方框架,我们下载下来却发现是非ARC的,这时候我们需要进行ARC和MRC混编. 第一种方式,Edit->Refactor,转换成ARC方式 著名的iOS网络框架ASIHTTPRequest就是MRC,我们试试能不能转换成ARC 点击Check,我们发现悲剧了 多数情况下这种方式都会出错,那该怎么办呢? 第二种方式,给编译器加标记 可以在Build Phases中的Compile Sources中加入编译标

30-ocARC基本概念ARM和MRC混编

 ARC ARC的原理是什么 当ARC开启时,编译器将自动在代码合适的地方插入retain, release和autorelease,而作为程序猿,完全不需要担心编译器会做错(除非开发者自己错用ARC了). ARC有什么优点 完全消除了手动管理内存的烦琐, 让程序猿更加专注于app的业务 基本上能够避免内存泄露 有时还能更加快速,因为编译器还可以执行某些优化 ARC的原则是什么?什么是强指针?什么是弱指针? 只要还有一个强指针变量指向对象,对象就会保持在内存中 1.强指针 默认所有指针变量都是强

iOS Mac忘记登录密码的4种解决方法

4种方法: 一.使用Apple ID重置用户账户密码 使用这个方法有一个前提 如上图红框,此项必须勾选,否则无法使用Apple ID重置密码.(如果你不记得有没有勾选,则你起码要记得首次启动 OS X 或装有 OS X Lion 或更高版本的全新 Mac 时,你会进入“OS X 设置助理”,其中需要你输入 Apple ID.输入 Apple ID 后,请在“创建您的帐户”阶段选择“允许我的 Apple ID 重设此用户的密码”选项.) 好了,来说下具体实现的方法: 如果您在登录窗口错误输入帐户密

ARC MRC 混编

简单叙述一下吧.MRC模式 就是带有retain,release和autorelease方法操作的技术引用,计数器为0的时候就会自动释放内存.在ARC模式下对象不能调用release,retain和retainCount方法,允许重写dealloc但不能[super dealloc]:1:如果没有强指针指向对象,该对象就会被销毁,换种说法说,如果一开始就是弱指针,没意义,直接被回收:2:指针默认都是强指针的,修饰符为连续两个下横线的__strong;3:assign只适合于基础数据类型:4:弱指

[ios]如何在ARC代码中混编非ARC代码

参考 :http://blog.sina.com.cn/s/blog_b595ce9e0101nvvn.html “ios中如果arc和非arc文件混编,可以在build parses中指定compile flags,如果arc文件设为"-fobjc-arc",非arc文件设为"-fno-objc-arc"”