结合了好几个文章才完成上传,索性自己再简单总结一下吧。细节比较少但比较全面吧。尤其是上传成功后pod search 不到很尴尬。
觉得还得了解原理为先,还是先看看原理图吧
1.注册账号:
pod trunk register xxx@163.com 'userName' --verbose
注意:注册完了,回收到验证邮箱,验证一下就可以接着做了。
2.创建Spec文件,命名:项目名.podspec
可以复制现有的模板,也可以命令行创建,初次创建的话建议使用命令行,因为可以了解更加全面,模板都是删减过的。
命令行:pod spec create YWShowView
我的模板:
Pod::Spec.new do |s|
s.name = "YWShowView"
s.version = "0.0.1"
s.summary = "a simple demo for show base subview"
s.description = <<-DESC
push subview from bottom
DESC
s.homepage = "https://github.com/YWSawyer/YWShowView"
s.license = "MIT"
s.author = { "YWSawyer" => "yuan_wei_1@163.com" }
# s.authors = { "YWSawyer" => "yuan_wei_1@163.com" }
# s.social_media_url = "http://twitter.com/YWSawyer"
s.platform = :ios, "8.0"
s.ios.deployment_target = "8.0"
s.source = { :git => "https://github.com/YWSawyer/YWShowView.git", :tag => s.version }
s.source_files = "YWShowView", "*.{h,m}"
# s.exclude_files = "Classes/Exclude"
# s.public_header_files = "Classes/**/*.h"
# s.resource = "icon.png"
# s.resources = "Resources/*.png"
# s.preserve_paths = "FilesToSave", "MoreFilesToSave"
# s.framework = "SomeFramework"
s.frameworks = 'Foundation', 'UIKit'
# s.library = "iconv"
# s.libraries = "iconv", "xml2"
s.requires_arc = true
# s.xcconfig = { "HEADER_SEARCH_PATHS" => "$(SDKROOT)/usr/include/libxml2" }
# s.dependency "JSONKit", "~> 1.4"
end
s.source_files:注意这里就可以了,这个是你要开源的路径,从仓库的子目录开始写。
tag => s.version 指定的版本,git上打一个名为0.0.1的tag,要不然不好找到具体项目
3.验证podspec文件是否有效。
命令行:pod lib lint YWShowView.podspec --allow-warnings
警告信息可以忽略但错误信息必须修改。一般错误信息提示还是比较全面的,根据错误信息就可以更改了。
成功后如下图所示
4.推送到远程的cocoapods
命令行:pod trunk push YWShowView.podspec --allow-warnings
5.刷新一下本地的pod
命令行:pod repo update
此时你还看到如下图所示。
6.查找你的库是否真的已经存在
命令行:pod search YWShowView
这时候尴尬的地方就来了,明明已经update过了,而且也已经被加入了,但还是搜不出来,真的好尴尬。
解决方法:删除本地pods的索引,重新pod serarch
命令行:rm ~/Library/Caches/CocoaPods/search_index.json
然后重新搜索
命令行:pod search YWShowView
参考博客: