最近和同事一起整理下自己常用的方法,并进行类拓展,最后进行整合(类似YYKit)。现在希望做成能用Cocoapods进行导入管理,但是要求源文件放到公司这边的Git服务器上。查阅了资料并实现后,在这里分享下实现流程。
流程确定
1. 创建工程
工程的创建这里略过 ,这里讲一个重要的东西,就是pod的配置文件spec的创建
打开终端cd到本地工程的目录下,然后输入
pod spec create TestKit
这个命令的意思是在当前目录下创建一个名字为TestKit的配置文件,这里的TestKit也代表私有库的名字,创建成功后会在文件夹下生成一个TestKit.podspec的文件
然后用文本编辑器打开这个文件(这里建议用Sublime Text,格式选ruby自动高亮关键语法),这是pod生成的模板文件,里面注释都比较详细,按照注释配置就可以
配置文件设置有疑问的可以查看唐巧的这篇博客《如何编写一个CocoaPods的spec文件》
需要注意的是最终配置文件中不能有注释
Pod::Spec.new do |s|
s.name = "TestKit"
s.version = "1.0.0"
s.summary = "测试库"
s.homepage = "http://10.1.64.225/Yuzhenkao/TestKit"
s.license = { :type => "MIT", :file => "LICENSE" }
s.author = { "YuZhenKao" => "yuzhenkao@wondersgroup.com" }
s.platform = :ios
s.platform = :ios, "7.0"
s.source = { :git => "http://10.1.64.225/Yuzhenkao/TestKit.git", :tag => s.version.to_s }
s.source_files = "TestKit/*.{h,m}"
s.framework = "UIKit"
end
编写完配置文件保存退出
打开终端cd到本地工程的目录下,然后分别输入
pod spec lint --verbose
pod lib lint --verbose
这两个命令是检查配置文件是否编写正确,如果检查不通过会报warning和error,根据提示修改到没有错误就可以了
2. 将工程上传到git服务器
上传之后需要给当前的版本打上tag,tag需要和上面的配置文件中的s.version一致
3. 创建配置文件仓库
在终端里输入
pod repo add private http://10.1.64.225/Yuzhenkao/TestKitSpec.git
private 表示配置文件仓库的名字,后面的网址是服务器git仓库地址,这里要注意在服务器上配置文件仓库和工程文件仓库是分开的
成功后再输入
pod repo list
就可以看到创建到本地的仓库了
之后cd到工程目录下输入
pod repo push private TestKit.podspec
将配置文件添加到本地并推送到服务器
成功后可以复制上图中private仓库的path,shift+cmd+G,就可以看到
也可以在终端里输入
pod search TestKit
导入
最后讲下导入的时候的注意的东西
source'http://10.1.64.225/Yuzhenkao/TestKitSpec.git'
source'https://github.com/CocoaPods/Specs.git'
platform :ios, '7.0'
pod 'AFNetworking'
pod 'TestKit'
必须在Podfile的最上面添加source'仓库地址
',第一个是自己的配置文件仓库地址,第二个是cocoapods的官方仓库地址,这都是必须添加的,否则pod install
的时候回报错。