美文网首页
CocoaPods的工作过程

CocoaPods的工作过程

作者: coder_zhengyi | 来源:发表于2018-02-06 20:13 被阅读78次

    CocoaPods实现过程

    • 解析 Podfile 中的依赖,解决依赖关系,核心部分

    • 下载依赖

    • 创建 Pods.xcodeproj 工程

      生成 Pods.xcodeproj 工程
      将依赖中的文件加入工程
      将依赖中的 Library 加入工程
      设置目标依赖(Target Dependencies)

    • 集成 workspace

    生成pods.xcodeproj的详细过程:

    CocoaPods的工作主要是通过ProjectName.xcworkspace来组织的,在打开ProjectName.xcworkspace文件后,发现Xcode会多出一个Pods工程。

    1.库文件引入及配置:
    库文件的引入主要由Pods工程中的Pods-ProjectName-frameworks.sh脚本负责,在每次编译的时候,该脚本会帮你把预引入的所有三方库文件打包的成ProjectName.a静态库文件,放在我们原Xcode工程中Framework文件夹下,供工程使用。
    如果Podfile使用了use_frameworks!,这是生成的是.framework的动态库文件。引入方式也略有不同。

    2.Resource文件:
    Resource资源文件主要由Pods工程中的Pods-ProjectName-resources.sh脚本负责,在每次编译的时候,该脚本会帮你将所有三方库的Resource文件copy到目标目录中。

    3.依赖参数设置:
    在Pods工程中的的每个库文件都有一个相应的SDKName.xcconfig,在编译时,CocoaPods就是通过这些文件来设置所有的依赖参数的,编译后,在主工程的Pods文件夹下会生成两个配置文件,Pods-ProjectName.debug.xcconfig、Pods-ProjectName.release.xcconfig。

    ✨波浪线**~ > ** 含义:从指定版本到倒数第二位版本号升1为止,比如 ‘~> 0.3.7’所指的版本区间为[0.3.7, 0.4.0),即>=版本0.3.7,<版本0.4.0

    Pod install 和 Pod update的区别

    这里面会从配置类的实例 config 中获取一个 Installer 的实例,然后执行 install! 方法,这里的 installer 有一个 update 属性,而这也就是 pod install 和 update 之间最大的区别,其中pod update会无视已有的 Podfile.lock 文件,重新对依赖进行分析。

    pod install 和 pod update 区别还是比较大的,每次在执行 pod install 或者 update 时最后都会生成或者修改 Podfile.lock 文件,其中install并不会修改 Podfile.lock 中显示指定的版本,而update会会无视该文件的内容,尝试将所有的 pod 更新到最新版。

    相关文章

      网友评论

          本文标题:CocoaPods的工作过程

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