首先使用保证项目已经上传到git的仓库中。
一、在注册trunk之前,我们需要确认当前的CocoaPods版本是否足够新。trunk需要pod在0.33及以上版本,如果你不满足要求,打开Terminal使用ruby的gem命令更新pod:
# sudo gem install cocoapods
更新结束后,我们开始注册trunk:
# pod trunk register [email protected] 'liuhanhao' --verbose
邮箱以及用户名请对号入座。用户名我使用的是Github上的用户名。--verbose参数是为了便于输出注册过程中的调试信息。执行上面的语句后,你的邮箱将会受到一封带有验证链接的邮件,如果没有请去垃圾箱找找,有可能被屏蔽了。点击邮件的链接就完成了trunk注册流程。使用下面的命令可以向trunk服务器查询自己的注册信息:
# pod trunk me
输出如下信息就表示你注册成功,可以进行下面的流程:
二、配置PodSpec
在这一部分中我们需要做两件事:1、为你的代码添加podspec描述文件;2、将podspec文件通过trunk推送给CocoaPods服务器
2.1 添加podspec描述文件
这一步与更换trunk方式前的操作完全一样。什么是podspec描述文件呢?简单地讲就是让CocoaPods搜索引擎知道你的代码的作者、版本号、源代码地址、依赖库等信息的文件。任何支持CocoaPods的开源代码都必须有podspec文件。CocoaPods在github中用一个repo来管理所有支持CocoaPods的开源代码:https://github.com/CocoaPods/Specs。
2.2 创建pod spec描述文件
# cd /Users/liuhanhao/Downloads/UIView-ZQuartz
# pod spec create UIView-ZQuartz
示例pod spec描述文件
/************************************************/
Pod::Spec.new do |s|
s.name = "UIView-ZQuartz"
s.version = "0.0.1"
s.summary = "A marquee view used on iOS."
s.description = <<-DESC
It is a marquee view used on iOS, which implement by Objective-C.
DESC
s.homepage = "https://github.com/liuhanhao/UIView-ZQuartz"
# s.screenshots = "www.example.com/screenshots_1.gif", "www.example.com/screenshots_2.gif"
s.license = "MIT"
s.author = { "刘汉浩" => "[email protected]" }
s.source = { :git => "https://github.com/liuhanhao/UIView-ZQuartz.git", :tag => "#{s.version}" }
s.platform = :ios, '7.0'
# s.ios.deployment_target = '5.0'
# s.osx.deployment_target = '10.7'
s.requires_arc = true
s.source_files = 'UIView-ZQuartz/UIView-ZQuartz/Classes/*'
# s.resources = 'Assets'
# s.ios.exclude_files = 'Classes/osx'
# s.osx.exclude_files = 'Classes/ios'
# s.public_header_files = 'Classes/**/*.h'
s.frameworks = 'Foundation', 'CoreGraphics', 'UIKit'
end
/************************************************/
这里要注意一点,有时你写的podspec文件在后面push的时候会提示"The `source_files` pattern did not match any file."错误,但是能用pod lib lint命令做本地校验时又是OK的。为什么呢?上述错误的意思是pod在网络上根据你指定的路径找不到相关文件。这时候你要核对网上git仓库的路径与source_files(其他_files字段同理)要对应。*_files字段指的是网络git上的路径
2.2 通过trunk推送podspec文件
现在我们已经有了自己的podspec文件,但是在推送podspec文件之前你需要确认以下几点:
1、确保你的源码已经push到Github上。如果还没push源代码,可以用Terminal cd到本地源代码的根目录,执行:
# git add -A
# git commit -m "first commit for version 1.0.0"
# git push origin master
当然,你也可以使用SourceTree等GUI形式的Git客户端进行代码的推送操作。
2、确保你所push的代码已经打上"version tag",也就是给源代码打上版本号标签:
# cd /Users/liuhanhao/Downloads/UIView-ZQuartz
# git tag -a 0.0.1 -m "tag release 0.0.1"
# git push --tags
只有确保了以上两点,CocoaPods才能更准确地找到你的repo。
现在我们开始通过trunk上传你的podspec文件。先cd到podspec文件所在目录,执行:
# pod trunk push UIView-ZQuartz.podspec
三、使用制作好的cocoapods
在你项目的Podfile里面加入这个第三方库的地址。
pod 'UIView-ZQuartz', :git => 'https://github.com/liuhanhao/UIView-ZQuartz.git'
就可以畅快的使用pod install了