https://blog.csdn.net/u014600626/article/details/102922568
总结:
1.cocoapods会生成一个叫pods的项目,这个项目管理管理依赖,并生成libPod.a文件。主工程只要依赖这个文件即可。
2.每个静态库都有一个xcconfig文件,该文件说明了头文件的搜索路径、需要链接的二方库路径
CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/AFNetworking
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/AFNetworking" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking"
OTHER_LDFLAGS = -framework "CoreGraphics" -framework "MobileCoreServices" -framework "Security" -framework "SystemConfiguration"
PODS_BUILD_DIR = $BUILD_DIR
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_ROOT = ${SRCROOT}
PODS_TARGET_SRCROOT = ${PODS_ROOT}/AFNetworking
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
SKIP_INSTALL = YES
cocoapods也会为pod工程生成debug和release的xcconfig文件。比如Pods-Demo.debug.xcconfig
3.静态库分为.a和.framework两种。.a是一个纯二进制文件,.a不能直接使用,要配合.h文件才能使用。.framework中除了有二进制文件之外还有资源文件。.a + .h + sourceFile= .framework。静态库已经编译完成,只需要链接即可。
4.pod工程目录如下所示
├── Pods
│ ├── AFNetworking
│ ├── Headers
│ ├── Manifest.lock
│ ├── Pods.xcodeproj
│ └── Target\ Support\ Files
每个三方库都会在pod下面有一个文件夹。文件夹中是.framework文件
在Headers下有两个目录,Private和Public,第3方库的私有头文件会在Private目录下有对应的头文件,不过是1个软链接,链接到第3方库的头文件 第3方库的Pubic头文件会在Public目录下有对应的头文件,也是软链接
Manifest.lock manifest文件 描述第3方库对其它库的依赖