一个ruby开发的ios开发的包管理工具,官网地址 https://guides.cocoapods.org/

Podfile及逻辑

https://blog.csdn.net/Desgard_Duan/article/details/108633619
image.png

知识点

Ruby基础知识

菜鸟教程看看api暂时能顶https://www.runoob.com/ruby/ruby-file-methods.html

更改仓库源

同理npm和github,我这里用的阿里云

  1. source 'https://github.com/CocoaPods/Specs.git'
  2. source 'https://github.com/aliyun/aliyun-specs.git'

框架和静态库的区别

框架 = 库(静态库/动态库)+ .h(头文件) + bundle(资源包) 详细文档: http://chuquan.me/2021/02/14/understand-ios-library-and-framework/

Cocoa Touch 框架

它们始终是开源的,并且将像您的应用程序一样构建。(所以 Xcode 有时会编译它,当你运行你的应用程序时,总是在你清理项目之后。)框架只支持 iOS 8 和更新版本,但你可以在框架中使用 Swift 和 Objective-C。

Cocoa Touch 静态库

顾名思义,它们是静态的。因此,当您将它们导入项目时,它们已经被编译。您可以与他人共享它们,而无需向他们展示您的代码。请注意,静态库目前不支持 Swift。您必须在库中使用 Objective-C。应用程序本身仍然可以用 Swift 编写。

CocoaPods常规配置

  1. # 只准使用框架,不允许使用静态库(swift只支持框架)
  2. # Xcode9之后开始支持,貌似可以不用强制置顶了
  3. use_frameworks!
  4. # swift pod依赖Oc pod时需要开启modular headers,该选项为默认开启
  5. # 使用 use_modular_headers! 可以强制使用更优的模块导入方式
  6. use_modular_headers!