1、创建模板文件
pod lib create flieName
pod spec create flieName
方法⼀会帮助你创建一⼤大堆的⽂文件,包括演示demo创建;方法⼆方便你在现有的项目中提取你需要制作pod的代码。
这里使用的是方式一
选择平台、语言、模板、类前缀等
2、在模板的Classes文件中不安置自己编写的组件/框架。
3、模板本地安装组件测试
同时把相应的文件拖动如下的模板工程文件中 cmd + B 编辑看看是否正
如果没有问题本地的组件已经完成 可以在工程给使用试试
4、项目本地安装组件测试
这里的路径是找到 podspec 文件。
5、发布到远程服务器
将自己的本地组件代码发送到某个代码管理库(如:gitHub、码云等)
进入代码库 cd到文件
打开文件 open .
给代码添加gat git tag 版本号
把tag推送到远程仓库 git push --tags
6、配置spec文件
Pod::Spec.new do |s|
#组件名称
s.name = 'GWHomeKit'
#组件版本号 要和tag一致
s.version = '0.1.0'
#组件的简短简绍
s.summary = 'GWHomeKit.描述'
#详细描述
s.description = <<-DESC
TODO: GWHomeKit.详细描述
DESC
#仓库主页
s.homepage = 'https://github.com/Gavin/GWHomeKit'
#CocoaPods强制要求所有的Pods依赖库都必须有license⽂件,否则验证不会通过。license的 类型有很多种,详情可以参考网站tl;dr Legal。在创建github仓库的时候,我已经选择了MIT类型的 license 协议。
s.license = { :type => 'MIT', :file => 'LICENSE' }
# 作者 邮箱
s.author = { 'Gavin' => 'wgw12230927@163.com' }
#真是的分支地址
s.source = { :git => 'https://github.com/Gavin/GWHomeKit.git', :tag => s.version.to_s }
#iOS操作系统版本
s.ios.deployment_target = '8.0'
#组件文件路径
s.source_files = 'GWHomeKit/Classes/**/*'
#s.source_files = 'GWHomeKit/Classes/*.{h,m}'
# s.resource_bundles = {
# 'GWHomeKit' => ['GWHomeKit/Assets/*.png']
#图片文件路径
# }
# s.public_header_files = 'Pod/Classes/**/*.h'
# s.frameworks = 'UIKit', 'MapKit'
#框架依赖
# s.dependency 'AFNetworking', '~> 2.3'
#依赖的组件
end
这个是在指定共享的类库时, 文件路径不对, 也就是设置s.source_files 字段时, 发生了错误, 这里的路径是相对于.podspec文件的, 如果是与.podspec同级的文件夹, 直接写文件夹名称即可。
7、把spec文件提交的cocoapod
注册 pod trunk
(如:pod trunk register '邮箱' '用户名' --description='电脑描述')
邮箱会收到一个验证邮件 点击链接即可接下来查看个人信息 pod trunk me
中间可能遇到这种错误:
`NoMethodError - undefined method 'last' for #<Netrc::Entry:0x007fc59c246378>`
这时候需要尝试更新gem源或者pod:
$ sudo gem update --system
$ sudo gem install cocoapods
$ sudo gem install cocospods-trunk
如果遇到这种情况:
[!]Authentication token is invalid or unverified. Either verify it with ...
解决方案:
重新执行第一步注册。重来。记得验证spec文件是否正确
pod lib lint
(如:pod spec lint GWHomeKit.podspec)最后使用pod trunk命令,把podspec文件推送到CocoaPod官方库
(如: pod trunk push GWHomeKit.podspec)
8到此已经成功了!
接下来需要更新一下本地的pod的json文件即可
1. pod install(这⼀一步已经包括pod setup)
2. pod setup
3. pod repo update
pod setup成功后,依然不不能pod search,是因为之前你执⾏行行pod search⽣生成了了 search_index.json,此时需要删掉。
终端输⼊入:
rm ~/Library/Caches/CocoaPods/search_index.json
9 删除成功后,再执⾏行行:pod search 'GWHomeKit'。
大功告成!可以大功告成!可以去项目中安装自己的组件了
$ pod install