第一步:新建远程仓库
- 去代码托管平台新建仓库:个人推荐码云gitee,毕竟是咱中国人自己的;
-
具体步骤看下面截图,应该比较详细了。
第二步:创建项目
- 执行的相关命令如下
& cd /Users/iPackage/Desktop ///进入指定目录
& pod lib create TestDemo /// 创建项目
接下来会让你回答一些列问题:
1、What is your email? /// 填入自己的邮箱地址。
2、What platform do you want to use?? [ iOS / macOS ] /// 根据自己的需要选择, 此处选择iOS。
3、What language do you want to use?? [ Swift / ObjC ] /// 根据自己的需要选择, 此处选择ObjC。
4、Would you like to include a demo application with your library? [ Yes / No ] /// 是否创建一个demo应用包含在工程里, 根据自己的需要选择,此处选择Yes。
5、Which testing frameworks will you use? [ Specta / Kiwi / None ] /// 是否需要使用测试Framwork,选择None。
6、Would you like to do view based testing? [ Yes / No ] /// 否需要做接界面调试test,此处选择No。
7、What is your class prefix? /// 设置工程文件的前缀,这个根据自己的代码规范填写。
至此我们就创建了一个空的比较合格的工程,接下来我们就需要将我们的功能代码注入该工程,具体步骤如下:
1、功能代码注入
进入如下图所示文件路径,将我们的功能代码注入Classes文件类,并删除Replaceme.m文件
第三步:将代码推送至远程仓库(第一步创建的)
进入我们刚创建的远程仓库
-
修改配置文件
Pod::Spec.new do |s|
s.name = 'TestDemo'
s.version = '0.0.1'
s.summary = '我的测试Demo'
# 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
TODO: Add long description of the pod here.
DESC
s.homepage = 'https://gitee.com/wanly/TestDemo'
# s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
s.license = { :type => 'MIT', :file => 'LICENSE' }
s.author = { 'xxxxxxxx' => 'xxxxxxxx' }
s.source = { :git => 'https://gitee.com/wanly/TestDemo.git', :tag => s.version.to_s }
# s.social_media_url = 'https://twitter.com/'
s.ios.deployment_target = '9.0'
s.source_files = 'TestDemo/Classes/**/*'
# s.resource_bundles = {
# 'TestDemo' => ['TestDemo/Assets/*.png']
# }
# s.public_header_files = 'Pod/Classes/**/*.h'
# s.frameworks = 'UIKit', 'MapKit'
# s.dependency 'AFNetworking', '~> 2.3'
end
- 进入终端,进行提交
& cd /Users/iPackage/Desktop/TestDemo /// 进入之前创建的项目目录
& git add *
& git commit -s -m"frist upload"
& git remote add origin https://gitee.com/wanly/TestDemo.git ///(这个地址要换成你的远程仓库地址)
& $ git push origin master ///添加版本号
/// 若出现//fatal: refusing to merge unrelated histories这样的错误可执行下面的命令
/// git pull origin master --allow-unrelated-histories
//做完以上操作,可以再次push,
///添加版本号
& git tag -m "first release" "0.1.0"
& git push --tags
/// 备注:删除tag方式
///本地删除
& git tag-d v0.0.1
///远端删除
& git push origin :refs/tags/v0.0.1
第四步:发布库,文件spec文件提交至cocoapod
知识点插入:
- 注册 pod trunk(这里需要保证gem源或者pod是最新版本,否则有可能会失败)
& pod trunk register '邮箱''用户名'
接着你的邮箱会受到一条邮件通知,点击邮箱中的链接,即完成truck注册
发布公开库
知识点插入:
-
这里需要注意你本机的网络DNS配置信息,最好先检查一下DNS服务器地址是否包含8.8.8.8(我之前在进行下面操作的时候,就是在这里被坑了好久)
1.OK 一切准备工作就绪,进入终端:
pod lib lint TestDemo.podspec --allow-warnings --use-libraries /// 本地检测代码仓库是否有问题
pod spec lint TestDemo.podspec --allow-warnings --use-libraries /// 远程检测代码仓库是否有问题
pod trunk push TestDemo.podspec --allow-warnings --use-libraries /// 使用pod trunk命令,把podspec文件推送到CocoaPod官方库
--use-libraries 如果引用了静态库编译时需要静态库,
--allow-warnings 忽略警告
在验证和上传你的podspec文件到trunk之前,需要将你的源码push到Github上,tag一个版本号并发布一个release版本,这样podspec文件中的s.source的值才能是准确的
至此一切顺利的话,应该就可以通过
pod 'TestDemo'
方式直接在项目中进行引用了
2.提交修改
git add -A && git commit -m "Release 1.0.1"
git push origin master
git tag '1.0.1'
git push --tags ///将tag推送到远程仓库
pod trunk push TestDemo.podspec --allow-warnings /// 发布 忽略警告 --allow-warnings
参考:
https://www.jianshu.com/p/d2fe3bd1767d