怎么样在iOS开发中用ARC和arc与mrc混编编

怎么样在iOS开发中用ARC和MRC混编_百度知道
怎么样在iOS开发中用ARC和MRC混编
提问者采纳
在targets的build phases选项下Compile Sources下选择要使用arc编译的文件,双击它。方法如下,输入 -fno-objc-arc 即可 MRC工程中也可以使用ARC的类在targets的build phases选项下Compile Sources下选择要不使用arc编译的文件,双击它
Android|HTML5|VR培训名师面授
主营:Android培训、HTML5培训、VR培训、iOS培训
其他类似问题
为您推荐:
ios的相关知识
其他1条回答
arc中 对非arc的M文件 -fno-objc-arc
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁1. ARC & MRC 混合开发
在项目开发中,遇到使用MRC开发的第三方库怎么办?
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选项
最好的方案应该是换一家公司
又替代的就更好啦
& 开源中国(OSChina.NET) |
开源中国社区(OSChina.net)是工信部
指定的官方社区查看: 102|回复: 0
最后登录15/2/12注册时间12/5/16阅读权限50积分-10精华0帖子金币-15624 枚91币0 枚
钻石: 0 颗
人气: 0 次
金币: -15624 个
发表于 16/2/23 09:40:21
怎么样在iOS开发中用ARC和MRC混编
帖子永久地址:&<button type="submit" class="pn" onclick="setCopy('怎么样在iOS开发中用ARC和MRC混编\n/thread--1.html', '帖子地址已经复制到剪贴板您可以用快捷键 Ctrl + V 粘贴到 QQ、MSN 里。')">推荐给好友
GMT+8, 16/8/12 11:45
Powered byXcode5之后,新建iOS工程,默认都是ARC模式,但是有时候我们的项目中需要用到一些第三方框架,我们下载下来却发现是非ARC的,这时候我们需要进行ARC和MRC混编。
第一种方式,Edit-&Refactor,转换成ARC方式
著名的iOS网络框架ASIHTTPRequest就是MRC,我们试试能不能转换成ARC
点击Check,我们发现悲剧了
多数情况下这种方式都会出错,那该怎么办呢?
第二种方式,给编译器加标记
可以在Build Phases中的Compile Sources中加入编译标记-fno-objc-arc,确实可行,但是文件好多,这种方式适合文件比较少的情况,文件多了难道我们要一个一个加嘛,这时候我们可以借助一个工具,这是一个脚本,可以很方便的给某个文件夹内的文件添加编译标记,具体使用方法我们看项目主页就行了,既可以给ARC项目添加MRC标记(-fno-objc-arc),也可以给MRC项目添加ARC标记(-fobjc-arc)
第三种方式,打包成静态库
将我们将要使用的类拖入工程当中
勾选正确的target
将原来的类文件删除,只留我们需要的,然后我们将整个项目变为MRC
添加头文件
设置公共头文件
运行程序,我们发现静态库已经产生
这种方式的缺点就是如果需要改源码,就需要重新打包
最后一种方式,项目引用
新建一个项目,改为非ARC,在另一个项目中引用这个项目
我们需要把项目B中的无关文件删除掉
最后一种方式,自己重写成ARC方式
阅读(...) 评论()如果一个工程为MRC,其中要添加ARC的文件:
选择target -& build phases -& compile sources -& 单击ARC的文件将compiler flags设置为:-fobjc-arc
如果一个工程为ARC,其中要添加MRC的文件:
同样的路径,然后单击MRC的文件将compiler flags设置为:-fno-objc-arc。

我要回帖

更多关于 arc mrc 混编如何配置 的文章

 

随机推荐