参考文章:创建私有库
一、创建代码私有库
1、把代码托管到git托管平台上,国内免费私有仓库
两种方式:1、远程先创建仓库clone到本地,2、直接创建push到远程
2、将代码托管在SVN上
当公司的代码服务器为svn的情况下,一般用CocoPods创建私有库的时候,都是将CocoaPods创建出来的代码上传到公司的svn服务器,并且打上tags,然后将文件的配置信息文件.podspec上传到coding.net或者oschina.net网站上的私有库上,就是说.podspec是单独保存在git服务器上的。当版本信息更新时,代码提交到 svn服务器,.podspec文件也需要重新push更新。如果使用这种方法创建的私有库,和Cocopods管理AFNetworking这种共有库的原理基本一样,我们在使用所需要的库的时候,只需要在工程中的podfile中参考:引用私有库:第一种方式,通过source,当全部使用的是svn服务器时。podfile中 pod 'YDKit/Services',:svn =>"svn://192.168.111.222/ios/common/YDKit"
:tag=>‘版本号’`
上述方式都需要 将Podspec中的 s.source设置为SVN地址:
s.source = { :svn => "svn://xxxx/YDKit/", :tag => "#{s.version}" }
ps:完全使用svn存在的问题: 当我们的库需要依赖其它的库,刚好这些库都是svn上的私有库的时候就会出错。解决方式
二、创建项目的Podspec索引文件
注意:创建在项目的根目录
1、创建命令: pod spec create projectName (终端尽量先cd到桌面)
ps:也可以直接复制成熟的代码CocoaPods- Github公有库
2、验证Podspec文件的有效性
cd ~/Desktop/TestSwift
//可以使用下面。显示具体问题。以及忽略所有警告
pod spec lint TestSwift.podspec --verbose --allow-warnings
3、本地测试Podspec文件
platform :ios, '7.0'
target 'TestSwift' do
pod 'TestSwift', :path => '~/Desktop/TestSwift' # 指定路径
#pod 'TestSwift', :podspec => '~/Desktop/TestSwift/TestSwift.podspec' #指定podspec文件
end
三、向仓库提交私有的podspec
1.新建一个我们保存podspec文件的远端仓库
和建立私有代码仓库是一样的
2、给cocoapods添加私有repo
终端输入:
TestSwift是本地仓库的一个名字,(应该可以随便起一个)
后面的https是仓库的地址
pod repo add LxlPodspec https://git.coding.net/TestSwift.git
会在本地创建一个存放私有库的文件夹
查看是否添加成功:
pod repo list
可以看到“LxlPodspec是本地仓库的一个名字”
将TestSwift.podspec文件添加到podspec远端仓库和本地repo/JYPod里
//两个参数:添加的第一步添加的文件夹名 LxlPodspec
将要添加的Podspec路径
pod repo push TestSwift /Users/liuxiaoliang606/.cocoapods/repos/TestSwift/JYPodTest.podspec --allow-warnings
这个命令有两个作用:
第一:在本地repo/JYPod仓库添加我们的podspec文件
第二:在我们的远端存放podspec仓库里push最新的podspec文件
四、引用私有库
1、通过podspec文件引入
2、通过git地址引入
#第一种方式(需要在本地添加私有repo)
source 'https://github.com/CocoaPods/Specs.git'
source 'https://git.coding.net/lxl125z/LXLPodspec.git'
platform :ios, '8.0'
use_frameworks!
target 'PodTest' do
pod 'TestSwift'
end
#第二种方式
platform :ios, '8.0'
use_frameworks!
target 'PodTest' do
# pod 'TestSwift', :git => 'https://git.coding.net/lxl125z/TestSwift.git'
end
五、更新私有库
1、修改代码推送到仓库
2、添加代码的tag并push到仓库
ps:测试的时候也可以不设置tag,直接设置到仓库地址,但是不好标记
3、修改podspec文件的s.version版本号,然后再次调用
//两个参数:1、添加的私有repo名(可以通过pod repo list查看)
2、将要添加的Podspec路径
pod repo push coding-lxl125z-lxlpodspec /Users/liuxiaoliang606/Desktop/TestSwift/TestSwift.podspec --allow-warnings
本地和云端会出现新建版本的文件夹
六、项目其他人使用
将远程的私有Specs仓库Clone到本地
$ pod repo add [SpecRepoName] [GitAddress]
# clone 到 .cocoaPods 目录下 添加私有仓库到本地
$ pod repo add coding-lxl125z-lxlpodspec https://git.coding.net/lxl125z/LXLPodspec.git
# 更新私有库资源
$ pod repo update coding-lxl125z-lxlpodspec
# 查询本地是否有对应的项目库
$ pod search TestSwift
网友评论