美文网首页
iOS开发-你不了解的库(三)

iOS开发-你不了解的库(三)

作者: _常小仙儿 | 来源:发表于2021-02-18 09:10 被阅读0次

    本文涉及的知识点:

    • 简单描述下静态库的创建&使用
    • 简述CocoaPods
    • 收集的一些问题

    静态库创建&使用

    1.jpg
    1. 也可以创建.framework结尾的静态库
    2. 和动态库一样,新建项目以后,修改Mach-O TypeStatic Libiary
    • 修改生成的路径,在Copy files中可以看到 Subpath,把之前的路径删除
    • 添加自己的文件,为了后续导入方便,删除StaticFramework.m,在StaticFramework.h中导入其它头文件。
      2.jpg
    • Copy files中导入其它头文件,供外部使用
      3.jpg
    • 编译,在Products中找到.a结尾的静态库,Show in Finder,把这些文件全部复制,见图:
      4.jpg
    • 新建一个项目,直接把这些文件拖入,使用


      5.jpg

    这里暂时都用模拟器来操作,不同版本的库参考之前写的动态库

    • 如何查看一个framework是动态库还是静态库?

    使用file命令

    5.jpg

    CocoaPods

    CocoaPodsXcode工程中的包管理软件

    为什么要使用CocoaPods

    为了节约开发时间,我们通常会把一些第三方的库导入到项目中。在实践过程中,会遇到诸多问题。

    1. 第三方库的后续迭代问题
    2. 静态库导入时,需要配置Xcode参数。
    3. 静态库依赖系统动态库,需要手动导入
    4. 导入对比参考: 百度地图SDK

    CocoaPods核心概念

    1. Podfile文件,用来写清楚需要安装哪些Pod
    2. Specs仓库,托管在Github上。用来查询某个pod库的详细信息。
    3. podspec描述文件,用来描述某个pod仓库信息,包含代码地址、作者、版本号等信息

    CocoaPods是如何管理iOS项目的依赖的?

    pod install以后都做了什么?

    1. Podfile文件的解析
    2. 安装依赖
    • 解析Podfile中的依赖
    • 下载依赖(大部分的依赖都会被下载到 ~/Library/Caches/CocoaPods/Pods/Release/ 这个文件夹中,然后从这个这里复制到项目工程目录下的 ./Pods 中,这也就完成了整个 CocoaPods 的下载流程。)
    • 创建Pods.xcodeproj工程
    • 生成workspace

    使用CocoaPods的好处?

    1. 避免直接导入文件的原始方式,方便后续代码升级
    2. 简化、自动化集成流程,避免不必要的配置
    3. 自动处理库与库之间的依赖关系
    4. 简化开发者发布代码流程

    关于use_frameworks!

    我们在Podfile文件中使用use_frameworks!后,Pods工程下面的库会以动态库的形式引入,反之则为静态库。

    Swift项目中,必须要用use_frameworks!,否则会报找不到库文件的错误

    相关文章

      网友评论

          本文标题:iOS开发-你不了解的库(三)

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