cocoapods私有库基本配置

1,250 阅读2分钟

1.私有库目录结构:

Assets : 资源文件目录,存放图片、多国语字符串等资源,如果没有资源文件,可以不创建这个目录。

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所在文件夹开始。