• 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

  • 相关阅读:
    Taro文件上传:Blob Url下载Blob对象本身并通过接口上传到服务器
    Taro项目遇到的问题
    RPC是什么?
    句柄
    正向代理和反向代理
    Go Micro搭建简单微服务
    gRPC奇怪的编译命令protoc
    官网下载Git方法
    Go/golang:解决依赖包模块安装问题
    URL
  • 原文地址:https://www.cnblogs.com/mqxnongmin/p/10971663.html
Copyright © 2020-2023  润新知