美文网首页
在iOS中使用第三方类库

在iOS中使用第三方类库

作者: 刘大卓 | 来源:发表于2017-06-15 20:57 被阅读0次

转载51CTO 网+ 第十二期沙龙:大话数据之美_如何用数据驱动用户体验

http://mobile.51cto.com/iphone-407056.htm


方法一:直接复制所有源文件到项目中

这种方法就是把第三方类库的所有源文件复制到项目中,直接把所有.h和.m文件拖到XCode项目中即可。如果第三方类库引用了一些系统自带类库,那么在项目中还需要额外引用那些类库。

如果当前的项目启用了ARC,而引用的第三方类库未使用ARC,那还需要在项目信息的TargetsBuild Parses里找到第三方类库的.m文件,并为它们加上-fno-objc-arc标记。

而对于在未启用ARC的项目用引用使用了ARC的第三方类库,则需要为第三方类库的.m文件加上-fobjc-arc标记。

另外,在源代码中可以通过一个编译器指令__has_feature(objc_arc)来检测项目是否使用了ARC,具体见http://clang.llvm.org/docs/LanguageExtensions.html#langext-has-feature-has-extension

方法二:引用.xcodeproj生成静态链接库并引用

首先,在XCode中把第三方类库的.xcodeproj文件拖到当前项目中;如果第三方类库封装了一些资源在.bundle文件里,那么.bundle文件需要和.xcodeproj一起拖到项目中。

然后,在项目的Targets – Summary – Linked Frameworks and Libraries或者在Targets – Build Phases – Link Binary With Libraries添加第三方类库生成的静态链接库引用。

接着,还需要在Targets – Build Settings – Search PathsUser Header Search Paths参数中加入第三方类库的头文件路径,可以是绝对路径如:/Users/libpath,也可以是相对路径(相对于当前项目文件夹)如:../**。

最后,有些静态链接库引用进来可能还需要增加一些标记,在Targets – Build Settings – LinkingOther Linker Flags参数中增加:-Objc,–all_load这一类标记。

通过以上几步,一般都可以成功编译。

当然还有一些例外的情况:

当前项目和第三方类库同时使用了另外的一些第三方类库,这个时候还需要额外做一些处理才能成功编译:在引用的第三方类库的.xcodeproj项目 – Targets – Build Phases中的Compile SourcesCopy Headers把重复的.m和.h文件移除掉。

第三方类库引用的一些系统自带类库,如果项目中没有引用,也可能会引起编译错误,这时还需要在项目中引用第三方类库引用的一些系统自带类库。比如:第三方类库引用了QuartzCore.framework,而项目中未引用QuartzCore.framework则可能引起编译错误,就需要在项目中也引用QuartzCore.framework。

相关文章

  • 安装-CocoaPods

    介绍 在iOS的开发过程中,会使用到很多第三方的类库,而第三方类库也可能使用其他的类库,类库还会涉及到更新等操作,...

  • Mac OS X 10.11下安装CocoaPods与“Errn

    前言 iOS开发中,少不了第三方类库的使用,诸如:AFNetworking、JSONKit、SDWebImage,...

  • cocoapods

    在iOS项目开发中,我们不可避免地要使用到第三方的开源库。可能项目需要的某个类库又要用到其他类库,所以你在下载类库...

  • 程序员面试闪充--Cocoapods的详解

    在开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等。可能某个类库...

  • iOS第三方库的使用

    在iOS的开发中,为了提高开发效率,我们会使用一些第三方类库,下面我就罗列一些常用的第三方类库和正确的下载地址: ...

  • iOS开发之常用第三方库

    在iOS的开发中,为了提高开发效率,我们会使用一些第三方类库,下面我就罗列一些常用的第三方类库和正确的下载地址: ...

  • cocoapods的安装和使用

    一、使用cocoapods的原因 在iOS开发的过程中,会经常使用到很多第三方开源类库,比如JSONKit,AFN...

  • iOS cocoapods的使用,快速上手

    iOS开发中,学会使用cocoapods非常重要。cocodposd是iOS提供的第三方类库管理工具,能让...

  • Cocoapods最新版安装说明

    CocoaPods# 在iOS开发中势必会用到一些第三方依赖库,使用第三方类库能极大的方便项目的开发,但是,集成这...

  • Xcode中other linker flags 的作用

    使用场景 在ios开发中,我们经常会使用到第三方的一些静态库,导入第三方类库运行程序后你会发现,编译时可以正常编译...

网友评论

      本文标题:在iOS中使用第三方类库

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