在iOS中使用第三方类库
来源:互联网 发布:python爬虫怎样赚外快 编辑:程序博客网 时间:2024/05/22 05:04
方法一:直接复制所有源文件到项目中
这种方法就是把第三方类库的所有源文件复制到项目中,直接把所有.h和.m文件拖到XCode项目中即可。如果第三方类库引用了一些系统自带类库,那么在项目中还需要额外引用那些类库。
如果当前的项目启用了ARC,而引用的第三方类库未使用ARC,那还需要在项目信息的Targets – Build Parses里找到第三方类库的.m文件,并为它们加上-fno-objc-arc标记。
而对于在未启用ARC的项目用引用使用了ARC的第三方类库,则需要为第三方类库的.m文件加上-fobjc-arc标记。
另外,在源代码中可以通过一个编译器指令__has_feature(objc_arc)来检测项目是否使用了ARC,具体见。
方法二:引用.xcodeproj生成静态链接库并引用
首先,在XCode中把第三方类库的.xcodeproj文件拖到当前项目中;如果第三方类库封装了一些资源在.bundle文件里,那么.bundle文件需要和.xcodeproj一起拖到项目中。
然后,在项目的Targets – Summary – Linked Frameworks and Libraries或者在Targets – Build Phases – Link Binary With Libraries添加第三方类库生成的静态链接库引用。
接着,还需要在Targets – Build Settings – Search Paths的User Header Search Paths参数中加入第三方类库的头文件路径,可以是绝对路径如:/Users/libpath,也可以是相对路径(相对于当前项目文件夹)如:../**。
最后,有些静态链接库引用进来可能还需要增加一些标记,在Targets – Build Settings – Linking的Other Linker Flags参数中增加:-Objc, –all_load这一类标记。
通过以上几步,一般都可以成功编译。
当然还有一些例外的情况:
当前项目和第三方类库同时使用了另外的一些第三方类库,这个时候还需要额外做一些处理才能成功编译:在引用的第三方类库的.xcodeproj项目 – Targets – Build Phases中的Compile Sources和Copy Headers把重复的.m和.h文件移除掉。
第三方类库引用的一些系统自带类库,如果项目中没有引用,也可能会引起编译错误,这时还需要在项目中引用第三方类库引用的一些系统自带类库。比如:第三方类库引用了QuartzCore.framework,而项目中未引用QuartzCore.framework则可能引起编译错误,就需要在项目中也引用QuartzCore.framework。
- 在ios中使用第三方类库
- 在ios中使用第三方类库
- 在iOS中使用第三方类库
- 在iOS中使用第三方类库
- iOS中使用cocoaPods管理第三方类库
- iOS如何在工程中使用第三方(网络)图片
- CocoaPods的使用(xcode创建的IOS应用中引入第三方类库:在同一目录下pod install/update)
- iOS 优化内存(七)开发中使用第三方类库
- ios中导入第三方类库
- ios中导入第三方类库
- 网易新闻iOS版在开发过程中曾经使用过的第三方开源类库、组件
- 网易新闻iOS版在开发过程中曾经使用过的第三方开源类库、组件
- 网易新闻iOS版在开发过程中曾经使用过的第三方开源类库、组件
- 网易新闻iOS版在开发过程中曾经使用过的第三方开源类库、组件
- 网易新闻iOS版在开发过程中曾经使用过的第三方开源类库、组件
- 如何在RCP程序中使用第三方类库?
- iOS中使用第三方字体
- iOS 项目中使用第三方字体
- Flex项目转AIR技巧
- Xcode6在iPhone5+iOS7模拟器上编译,上下有黑边问题
- UIButton中setTitleEdgeInsets和setImageEdgeInsets的使用
- ViewPager+RadioButton+FragmentPagerAdapter实现导航fragment生命周期分析
- android多国语言 国际化
- 在iOS中使用第三方类库
- vlc缓冲事件添加及缓冲进度
- HTML5 translate 的变换参数的意义
- R文件丢失,ADT似乎并不稳定,stackoverflow上面找到答案。
- 系统出现乱码的原因和语系编码转换
- 几款漂亮的Eclipse编辑器皮肤 .
- 消除SDK更新时的链接问题 “https://dl-ssl.google.com refused”
- 如何在FireFox浏览器上访问微信公共账户提供的链接
- calloc=malloc+memset?