创建私有Pod库

2017-08-10  本文已影响304人  忆昔溪

步骤总览

创建一个git仓库用来做内部私有库的Spec Repo

image.png

创建私有Pod组件库

  • 如果我们的库是新建的,那么别的使用者的本地分支上是没有对应的.podspec.json文件的,也就相应获取不到。这个时候使用者需要使用pod repo update命令去远程重新获取更新本地分支
  • ~/.cocoapods/repos文件是一个隐藏目录,默认是看不到隐藏目录的,但是我们可以通过Terminal执行以下命令控制隐藏文件的显示与否
    defaults write com.apple.finder AppleShowAllFiles -boolean true ; killall Finder 显示
    defaults write com.apple.finder AppleShowAllFiles -boolean false ; killall Finder 隐藏
  • pod install 和 pod update 的区别
    使用install 会优先安装Podfile.lock文件中的内容,而不会主动更新Podfile.lock文件.而执行pod update方法会主动获取最新的库,并更新Podfile.lock文件,这两个命令都会升级CocoaPods的spec仓库
image.png

├── Example
demo APP
│ ├── YTDevice.xcodeproj
│ ├── YTDevice.xcworkspace
│ ├── Podfile
demo APP 的依赖描述文件
│ ├── Podfile.lock
│ └── Tests
demo APP 的依赖文件
│ ├── Pods
demo APP组件的目录
├── LICENSE
开源协议 默认MIT
│ ├── Assets
资源文件
│ └── Classes
│ │ └── ReplaceMe.m 此处用于存放自己实现库的相关代码!!!
类文件
├── YTDevice.podspec
第三步要创建的podspec文件
└── README.md
MarkDown格式的README

git add . # 添加文件
git commit -s -m "初始化YTDeviece库"
git remote add origin https://github.com/Yakov1012/YTDevice.git #与远端仓库链接
git push origin master #提交到远端仓库
git tag -m "first release" '1.0.1' #打上标签,这个很重要
git push --tags #推送tag到远端仓库

podspec文件加入私有Sepc Repo

#
# Be sure to run `pod lib lint YTDevice.podspec' to ensure this is a
# valid spec before submitting.
#
# Any lines starting with a # are optional, but their use is encouraged
# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html
#

Pod::Spec.new do |s|
  s.name             = 'YTDevice'
  s.version          = '1.0.1'
  s.summary          = 'YTDevice.'

# This description is used to generate tags and improve search results.
#   * Think: What does it do? Why did you write it? What is the focus?
#   * Try to keep it short, snappy and to the point.
#   * Write the description between the DESC delimiters below.
#   * Finally, don't worry about the indent, CocoaPods strips it!

  s.description      = <<-DESC
设备工具类,可查询当前设备名称,版本号等
                       DESC

  s.homepage         = 'https://github.com/Yakov1012/YTDevice'
  # s.screenshots     = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
  s.license          = { :type => 'MIT', :file => 'LICENSE' }
  s.author           = { 'Yakov1012' => '1446486761@qq.com' }
  s.source           = { :git => 'https://github.com/Yakov1012/YTDevice.git', :tag => s.version.to_s }
  # s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'

  s.ios.deployment_target = '8.0'

  s.source_files = 'YTDevice/Classes/**/*'
  
  # s.resource_bundles = {
  #   'YTDevice' => ['YTDevice/Assets/*.png']
  # }

  # s.public_header_files = 'Pod/Classes/**/*.h'
  # s.frameworks = 'UIKit', 'MapKit'
  # s.dependency 'AFNetworking', '~> 2.3'
end
  #pod 'YTDevice', :path => '../' # 指定路径
  pod 'YTDevice', :podspec => '../YTDevice.podspec'  # 指定podspec文件

CocoaPods 在主干上发布pods

CocoaPods Trunk 是一个基于授权的CocoaPodsAPI服务。 要在主干上发布或者更新库,需要注册。

使用trunk方式, 在终端执行如下代码
使用github邮箱和用户名
pod trunk register 邮箱地址 '用户名' --verbose

image.png
上图会提示你打开你的邮箱,打开确认链接,即可注册成功 image.png

成功之后可以终端执行如下代码:
pod trunk me
查看自己的注册信息, 以后当你有了自己的开源Pod库, 也可以用此方式随时查看自己发布过的Pods

image.png
image.png
然后去邮箱验证,验证后,可以通过命令 pod trunk me来查看账号所有Session
然后通过命令pod trunk push来发布pod。
image.png
image.png
上一篇 下一篇

猜你喜欢

热点阅读