创建CocoaPods的私有库

CocoaPods除了可以做第三方开源库的管理。其实还可以做私有库的管理。

比如:

第一:我们公司自己的库,可以共享给公司很多团队使用,如果直接copy会很麻烦,所以我们可以把他托管到自己的git服务器上,然后做成私有的库pod 进相应的工程项目里面使用。

第二:如果现有的第三方库满足不了我们现在的需求,我们可以做适当的修改,当时开这个项目的开发者不一定合并我们的代码,所以呢,我们也可以做成私有的库托管到公司自己的服务器上维护。

下面大致介绍下我自己修改的JSONModel 做成私有库维护在自己的git 服务器上,然后pod进现有的工程使用的一个步骤吧。

第一步:假如自己的代码托管在git服务器上,我们先到当前工程目录下创建一个Podspec索引文件,然后放到一些编辑工具编辑

pod spec create JSONModel 

Pod::Spec.new do |s|

s.name        = "JSONModel"

s.version      = "1.0.2"

s.summary      = "JSONModel 做了私有的修改"

s.homepage    = "http://10.1.64.25/Servens/JSONModel.git"

s.license      = 'MIT'

s.author      = { "sevens" => "[email protected]" }

s.source      = { :git => "http://10.1.64.25/Servens/JSONModel.git", :tag => "1.0.2" }

s.ios.deployment_target = '6.0'

s.osx.deployment_target = '10.7'

s.watchos.deployment_target = '2.0'

s.tvos.deployment_target = '9.0'

s.source_files = 'JSONModel/*.{m,h}'

s.public_header_files = 'JSONModel/*.h'

s.requires_arc = true

end

参数名字解释:

s.name声明库的名称

s.summary对这个库的简短说明介绍

s.version当前库的版本

s.homepage声明库的主页

s.license所采用的授权版本

s.author库的作者

s.platform库运行的平台和系统的最低版本

s.source库的仓库地址以及版本号或者committed等

s.source_files声明库的源代码的位置,库的真正路径(一般是相对路径)所以这个地方不能填错。这个目录下的文件都会进行编译。

s.resources存放我们不想参与编译的资源文件

s.frameworks声明了库所依赖的系统核心库

s.dependency我们开发的库中也可能还依赖第三方库,例如JSONKit,那么,就可以做如下声明:s.dependency "JSONKit", "~> 1.4",如果有多个就写多个

验证文件有效性

pod spec lint JSONModel.podspec --verbose  --allow-warnings

注意:

加上这个verbose参数可以把一些详细信息打印出来方便查看错误信息。如果有错误按照提示修改。警告虽然也可以忽略,但是也要当作错误处理。

注意配置文件里面的版本号要和自己代码的标签版本对应

s.source_files 文件路径是相对于podspec的路径


第二步:创建一个工程在git上保存我们的podspec文件

给cocoapods添加私有repo

pod repo add JSONModelPod https://192.168.2.2/JSONModel.git

pod repo list

用上述命令可以查看自己的刚才创建的本地仓库,除了master 和 private 我们单独创建一个文件夹因为我们是第三方库做修改的private里面已经存在有可能,所以这样不会冲突。

把配置文件添加到本地并推送到服务器上

pod repo push ~/JSONModel/JSONModel.podspec --allow-warnings

可以去JSONModel文件夹里面查看有一个当前版本,如果以后有新的版本,会有多个文件夹里面有相应的配置文件。

第三步:怎么把自己的私有库引入到当前工程里面使用。

# Uncomment this line to define a global platform for your project

source'http://10.1.2.5/Servens/JSONModelConfigurationFile.git'

source'https://github.com/CocoaPods/Specs.git'

platform :ios,'8.0'

inhibit_all_warnings!

target'CocoapodsTest'do

pod'AFNetworking'

pod'JSONModel','1.0.2'

end

注意添加source'仓库地址' 自己的在前面,官方的在后面,可以添加多个自己的仓库路径

第四:私有库的维护怎么个步骤呢

1:自己库更新打一个新的tag 和 配置文件里面的版本号对应起来

2 :pod spec lint JSONModel.podspec --verbose  --allow-warnings  验证有效性

3:pod repo push JSONModel ~/JSONModel/JSONModel.podspec --allow-warnings 推送到服务器

你可能感兴趣的:(创建CocoaPods的私有库)