• IOS 编程中引用第三方的方类库的方法及常见问题


    方法一:直接复制全部源文件到项目中

             这样的方法就是把第三方类库的全部源文件拷贝到项目中,直接把全部.h和.m文件拖到XCode项目中就可以。

    注意:

            1. 假设第三方类库引用了一些系统自带类库,那么在项目中还须要额外引用那些类库。

            2. 假设当前的项目启用了ARC,而引用的第三方类库未使用ARC。那还须要在项目信息的Targets – Build Parses

                里找到第三方类库的.m文件。并为它们加上-fno-objc-arc标记。

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

           另外,在源码中能够通过一个编译器指令__has_feature(objc_arc)来检測项目是否使用了ARC,

           详细见http://clang.llvm.org/docs/LanguageExtensions.html#langext-has-feature-has-extension


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

              首先,将要引用的静态库及头文件复制到该项目的文件路径下,然后,在项目的Targets – Summary – Linked Frameworks and Libraries或者在Targets – Build Phases – Link Binary With Libraries加入第三方类库生成的静态链接库引用。接着,还须要在Targets – Build Settings – Search PathsUser Header Search Paths參数中增加第三方类库的头文件路径。能够是绝对路径如:/Users/libpath,也能够是相对路径(相对于当前项目目录)如:../**。一般是设置为:” $(PROJECT_DIR)/usr “ (当中usr是项目下的自建的目录)。网上说有非常多拖.xcodeproj文件的,非常多网上的项目也有.xcodeproj,并且是红色的。笔者感觉有的.xcodeproj 下有非常多东西,所有引进来。太冗余了,不是必需。


    注意:

             1. 假设第三方类库封装了一些资源在.bundle文件中。那么.bundle文件须要和.xcodeproj一起拖到项目中。


             2. 有些静态链接库引用进来可能还须要添加一些标记。在Targets – Build Settings – LinkingOther Linker Flags參数中添加:-Objc–all_load这一类标记。

             3. 当前项目和第三方类库同一时候使用了另外的一些第三方类库。这个时候还须要额外做一些处理才干成功编译:在引用的第三方类库的.xcodeproj项目

                  – Targets – Build Phases中的Compile SourcesCopy Headers把反复的.m和.h文件移除掉。

             4. 第三方类库引用的一些系统自带类库。假设项目中没有引用,也可能会引起编译错误,这时还须要在项目中引用第三方类库引用的一些系统自带类库。

                 比方:第三方类库引用了QuartzCore.framework,而项目中未引用QuartzCore.framework则可能引起编译错误。就须要在项目中也引用QuartzCore.framework。

    方法三:借助Cocoapods 管理第三方

            当你开发iOS应用时,会常常使用到非常多第三方开源类库,比方JSONKit,AFNetWorking等等。

    可能某个类库又用到其它类库,所以要使用它。必须得另外下载其它类库,而其它类库又用到其它类库,“子子孙孙无穷尽也”,这或许是比較特殊的情况。总之小编的意思就是,手动一个个去下载所需类库十分麻烦。第二种常见情况是,你项目中用到的类库有更新,你必须得又一次下载新版本号,又一次增加到项目中,十分麻烦。假设能有什么工具能解决这些恼人的问题,那将“善莫大焉”。所以。你须要 CocoaPods。

    CocoaPods应该是iOS最经常使用最有名的类库管理工具了,上述两个烦人的问题,通过cocoaPods,仅仅须要一行命令就能够全然解决。当然前提是你必须正确设置它。重要的是。绝大部分有名的开源类库,都支持CocoaPods。所以,作为iOS程序猿的我们,掌握CocoaPods的使用是不可缺少的基本技能了。

    cocoapods的具体使用见:

    http://code4app.com/article/cocoapods-install-usage

    内容參考链接:

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

  • 相关阅读:
    Google笔试题
    OpenStack Ceilometer简介
    OpenStack Object Storage(Swift)架构、原理及特性
    【大话存储2读书笔记】磁盘IO的重要概念
    递归,汉诺塔游戏
    函数定义与使用
    字符串操作
    for循环:用turtle画一颗五角星
    列表、元组、字典、集合的定义、操作与综合练习
    npm 相关
  • 原文地址:https://www.cnblogs.com/clnchanpin/p/6803785.html
Copyright © 2020-2023  润新知