非ARC和ARC混合开发

由于xcode5以后基本都是在ARC的环境下开发, 但是避免不了使用一些老得MRC得第三方类库,在我们实际开发过程中, 当遇到非ARC和ARC的两个工程一期开发的时候, 一般有几种方式来处理

一. 通过xcode-Edit-Refactor-Convert to Objective-C ARC 将MRC的转换成ARC的. 但是这种情况往往不那么理想和实用. 我们只能祈祷它可以奏效

二. 通过TARGETS-Build Phases-Compile Sources将我们的所有MRC文件打上-fno-objc-arc的flags,对于MRC文件数量相对少得情况下可以使用该方法.但是当MRC文件的数量有几十甚至上百的时候, 这真的不应该是我们这样高逼格,高技术含量的人才干的活, 说这么多废话, 都是为了今天的猪脚做铺垫.大笑

三.猪脚粗线:当当当当.....通过将我们引入的MRC的第三方类库打包成静态库,然后再引入工程, 我个人感觉逼格是比较高的.下面详细介绍下如何打包成静态库

1.新建一个静态库project(Frameword & Library-Cocoa Touch Static Library), 名字就取跟第三方一样的吧, 方便.

2.将第三方类库拖到我们的工程当中来, Add to targets中勾选第一个(静态库), 点Finish..可以把我们新建时默认创建的.h和.m干掉

3.这时我们command+B时肯定会报错的,因为xcode5以后创建出来的工程都是ARC模式的, 这时我们只需要将其改为MRC模式即可(TARGETS-Build Settings-搜索auto,找到Objective-C Automatic Reference Counting, 将其改为NO),下来Build Phases中点击+号增加New Copy Headers Build Phase,然后将该第三方中得所有.h文件都增加进去,并拖到public中,Supporting Files中的.pch文件中包含UIKit框架. 此时我们command+B 编译通过.这时我们的静态库也已经生成了(Products中可以找到该静态库文件)

4.将我们刚才的静态库工程中的头文件的文件夹(include)拖到工程中,再将我们刚才生成的静态库.a文件拖到工程中去.. OK大功告成


总结:其实也是用了封装的原理,外部只负责用,不用关心内部究竟是怎样的. 另外大家应该也学会了如何让别人看不到我们的源代码了吧..

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值