cocoapods 私有库实践笔记

一、创建本地开发版仓库

可以参考 Cocoapods管理本地代码上部分。

@我的印象笔记

二、创建服务端私有仓库

这里需要两个git仓库,一个存放源码,一个存放.podspec配置文件。

1、Pod 自动创建工程

可以用命令行自动完成创建库文件,测试工程,podspec的步骤。

终端输入

 pod lib create TestPrivateCodeRepo 

CoccoaPods 会问几个问题:

要使用的语言

是否需要样例工程

是否需要一个测试框架

是否需要基于 View 的测试

还有类的前缀

然后自动打开创建好的工程。

2、修改.podspec文件

cd 到 TestPrivateCodeRepo根目录下,修改TestPrivateCodeRepo.podspec文件配置,

例如TestPrivateCodeRepo.podspec修改为这样:

Pod::Spec.new do |s|
  s.name             = 'TestPrivateCodeRepo'
  s.version          = '0.2.0'
  s.summary          = 'cocoapods 私有仓库测试demo'

  s.description      = <<-DESC
cocoapods 私有仓库测试demo cocoapods 私有仓库测试demo cocoapods 私有仓库测试demo cocoapods 私有仓库测试demo cocoapods 私有仓库测试demo cocoapods 私有仓库测试demo
                       DESC

  s.homepage         = 'https://github.com/Joeyechang/TestPrivateCodeRepo'
  s.license          = { :type => 'MIT', :file => 'LICENSE' }
  s.author           = { '[email protected]' => '[email protected]' }
  s.source           = { :git => 'https://github.com/Joeyechang/TestPrivateCodeRepo.git', :tag => s.version.to_s }
  # s.social_media_url = 'https://twitter.com/joeychang'

  s.ios.deployment_target = '8.0'

  s.source_files = 'TestPrivateCodeRepo/Classes/*.{h,m}'
   s.requires_arc = true

  # s.public_header_files = 'Pod/Classes/**/*.h'
  # s.frameworks = 'UIKit', 'MapKit'
  # s.dependency 'AFNetworking', '~> 2.3'
end

s.version s.homepage s.source s.source_files 要重点关注下,别配置错了。

3、push文件,并打上标签

将此版本资源文件push,并打上标签(标签用来pod install 指定的版本)

git add . //添加所有文件

git commit -m "describe" //放到缓存区准备push

本地git库是直接pod lib create TestPrivateCodeRepo生成的,相当于直接 git init出来的,还没有链接到远程库。

git remote add origin https://github.com/Joeyechang/TestPrivateCodeRepo.git

git pull <库地址> master

git status //看一下状态有东西要提交

git add .

git commit -m "describe"

git push origin master 

git tag -m "tag describe" 0.1.0 //打标签

git push --tags //push 标签

本地验证podspec

pod lib lint
4、发布podspec

创建spec库,spec库就相当于一个配置文件库,直接在Github或Coding创建一个空白库就行了。

(这个是在测试工程根目录即TestPrivateCodeRepo.podspec所在目录下执行命令)

pod repo add TestSpecs 远程Spec库的git地址 //它的作用相当于创建一个空目录TestSpecs,在里面git clone 远程Spec库的git地址

cd 到TestPrivateCodeRepo根目录,验证podspec

pod lib lint TestPrivateCodeRepo.podspec
验证顺利的话将podspec发布

pod repo push TestSpecs TestPrivateCodeRepo.podspec
此时远程Spec库和本地~/.cocoapods/repos/TestSpecs路径下都得到了更新。
5、测试

新建工程》pod init >>编辑Podfile

source 'https://github.com/Joeyechang/MySpec.git'

source '我们自己的spec库.git'

use_frameworks!

target 'AnProject' do

pod 'TestPrivateCodeRepo'

end

最后,当所用TestSpecs有更新时执行 pod repo update TestSpecs,同步远程spec库到本地

参考:

  1. http://www.jianshu.com/p/5b950e89e1ac
  2. http://www.jianshu.com/p/584e863f0687
  3. http://www.jianshu.com/p/98407f0c175b

你可能感兴趣的:(cocoapods 私有库实践笔记)