一、CocoaPods私有库创建
这里提倡用Coding不仅仅是快,而且免费,GitHub私有库慢而且收费
一、创建私有Spec repo https://git.coding.net/ZKReadStone/ZKSpecs.git
$ open ~/.cocoapods/repos //打开.cocoapods/repo文件夹 查看master文件夹结构如下图:
1.创建私有Spec repo远程仓库,如下图
二、创建项目仓库(https://git.coding.net/ZKReadStone/LoginModule.git)的时候只要填下图的几项
注意:下图这两项不要选,因为项目工程通过下面命令创建
pod lib create [项目名]$pod lib create LoginModule
命令执行完毕后工程目录如下图,可见项目根目录里已经有LICENSE和README.md文件,所以上面两项不要选
What language do you want to use?? [ Swift / ObjC ]
ObjC
第一个问题是问你选择Swift还是Objc构建项目。此教程 选的是ObjC
Would you like to include a demo application with your library? [ Yes / No ]
Yes
第二个问题问你是否需要创建一个Demo项目,此教程选的是Yes
Which testing frameworks will you use? [ Specta / Kiwi / None ]
Specta
第三个问题让你是否选择一个测试框架,此教程选 Specta
Would you like to do view based testing? [ Yes / No ]
Yes
第四个问题是否基于View测试,选Yes
What is your class prefix?
ZK
第五个问题是询问 类的前缀,设为ZK
成功后会在目录中创建好一个LoginModule工程,结构如下:
把Classes文件夹里面的ReplaceMe.m文件删掉,替换成自己的代码
配置podspec文件并提交到私有Repo仓库
Pod::Spec.new do |s|
s.name = 'LoginModule'
s.version = '0.1.0'
s.summary = '登录注册模块'
s.description = <<-DESC
登录注册模块,方便模块化开发。。。。
DESC
s.homepage = 'https://coding.net/user'
s.license = { :type => 'MIT', :file => 'LICENSE' }
s.author = { 'zhangkangreadstone@163.com' => 'zhangkangjiqi@163.com' }
s.source = { :git => 'https://git.coding.net/ZKReadStone/LoginModule.git', :tag => s.version.to_s }
s.ios.deployment_target = '8.0'
s.source_files = 'LoginModule/Classes/*/'
s.frameworks = 'UIKit'
s.dependency 'AFNetworking', '~> 2.3'end
注意:
s.source = { :git => 'https://git.coding.net/ZKReadStone/LoginModule.git', :tag => s.version.to_s } 中https://git.coding.net/ZKReadStone/LoginModule.git是项目仓库,不是私有repo库
s.source_files = 'LoginModule/Classes/*/’ 表示的是根目录下LoginModule文件夹Classes文件里所有文件
配置完成,用$ pod lib lint检测配置有没有错误
-> LoginModule (0.1.0)
LoginModule passed validation.
表示配置podspec无误,检查通过
项目提交到git仓库:
$ git add .
$ git commit -m "first commit"
$ git remote add origin https://git.coding.net/ZKReadStone/LoginModule.git
$ git commit -a -m "PodTest 0.1"
$ git pull origin master
$ git push origin master
给项目打标记
$ git tag -m “New Tag” ‘0.1.0’
$ git push -tags
注册pod trunk
$ pod trunk register 你的有效的邮箱@163.com '你的昵称'
去上面你输入的邮箱里,点击no-reply里面的验证链接
拉取远程Repo仓库到本地,会看到本地 $ open ~/.cocoapods/repos
pod repo add [私有项目名(repo仓)] [podspe仓clone地址]
$ pod repo add ZKSpecs https://git.coding.net/ZKReadStone/ZKSpecs.git
没有问题,就可以把podspec文件提交到远程仓库
pod repo push [Repo名] [podspec 文件名字]$ pod repo push ZKSpecs LoginModule.podspec
再去看我们的Spec Repo远端仓库 也就是私有Repo仓库,也有了一次提交,这个podspec也已经被Push上去了。
使用pod search命令就可以查到我们自己的库了.
打开Example工程目录Podfile文件:
source 'https://git.coding.net/ZKReadStone/ZKSpecs.git'
use_frameworks!
target 'TestLoginDemo' do
platform :ios, '8.0'
pod 'LoginModule', '0.1.0'
end
下面就是正常的Cocapods的使用