1.私有库目录结构:

Classes: 存在私有库的源码文件,包括所有的OC或swift代码文件,以及一些c文件。
***.podspec :私有库配置文件,cocoapods需要根据这个配置文件去加载库。
LICENSE:开源协议,目前项目未开源,直接复制老模块的文件即可。
README.md : 库的使用说明和用户须知。写一些库的介绍和使用库需要注意的事项。
2.库配置文件:
私有库的配置主要包含三个部分,库信息配置、库代码配置、库依赖配置。

库信息配置包括名称(name)、版本(version)、简介(summary)、描述(description)、主页(homepage)、开源协议(license)、作者(author)、支持平台(platform)等。这部分按照库的真实情况进行编写就行。
重点说下库资源文件配置:
s.source_files 表示源码的存放路径,路径从 .podspec 配置文件所在的路径开始。 其中 **表示递归所有子文件夹。 *.{h,m} 适配所有头文件和实现文件。
s.resource_bundles 表示资源文件进行打包时,生成的bundle文件信息。一个库可以将不同的资源文件打成多个bundle文件。
s.source 表示cocoapods加载这个库时的路径。支持git、svn、http等路径形式。如果不区分版本,后面的tag路径可以不要;否则tag要与你存放代码的svn上的target标志保持一致,这样cocoapods才能根据根目录找到对应的版本代码,并下载。
s.prefix_header_contents 表示pch文件的内容。cocoapods会根据这个参数的值去创建pch文件。如果你已经有现成的pch文件了,可以用prefix_header_file属性使用文件路径引用。强烈不建议使用这个属性,因为这个属性会加载pods工程文件中,进而影响到其他模块。
库依赖关系配置用来管理库的加载,可实现自己加载模块所有所需模块。

s.libraries 表示依赖的系统库。填写时需要去除lib前缀和后缀名,如 libxml2.tbd应该填写 xml2。
s.vendored_library 表示依赖的本地.a库。本地库的路径从.podspec所在文件夹开始。
s.dependency 表示依赖的其他pod库。目前支持写已经开源的pod库,直接写开源库名称即可。如果依赖本地svn上的私有库,需要在podfile中加载,podspec中写明依赖关系,会在编译提示xxx库没有。
frameworks 表示依赖的系统框架,直接写系统框架名称即可。
vendored_frameworks 表示依赖的本地framworks框架。要填写具体路径,路径从.podspec所在文件夹开始。