KJEmitterDemo
a simple project for KJEmitterDemo
- 这个工程提供了一些iOS开发中用到的类目, 方便开发
- pod 'KJEmitterDemo','~> 1.0.1'
开源框架到CocoaPods
相关Demo下载地址
[Demo下载地址](https://github.com/yangKJ/KJEmitterDemo)
简书地址
[简书地址](https://www.jianshu.com/p/3ef51991c0e9)
一、先将代码传到github上
git init
1.创建本地仓库 git remote add origin '你的github项目地址'
2.添加名称为origin的远程连接 git add .
3.将本地代码加入到本地仓库 git commit -m '你的修改记录'
4.提交修改到本地仓库 git push origin master
5.推送master分支的代码到名称为orgigin的远程仓库 二、给你git打上tag
打tag的目的就相当于给你的开源框架制定版本号,每个版本一个tag
1.cd仓库目录
git tag
2.查看本地tag git tag -a 1.0.0 -m ‘release 1.0.0’
3.添加本地tag 1.0.0
git push origin --tags
4.将tag传到远程 tag的其他操作
git tag -d 1.0.0
1.删除本地tag git push origin -d tag 1.0.0
2.删除远程tag 三、注册Trunk
pod trunk register 你的邮箱 '你的用户名' --description='你的描述'
1.注册Trunk
https://trunk.cocoapods.org/sessions/verify/965b5e96
2.打开邮箱点击地址:pod trunk me
3.注册
4.如果你的pod是由多人维护的,你也可以添加其他维护者
pod trunk add-owner 名称 邮箱
四、获取MIT文件
https://choosealicense.com/
1.网页链接2.将生成的LICENSE文件同步至Github
五、创建自己项目的Podspec描述文件
pod spec create KJEmitterDemo
1.创建podspec文件 pod spec lint KJEmitterDemo.podspec
2.验证你本地的podspec文件 pod spec lint KJEmitterDemo.podspec --allow-warnings
3.忽略警告
六、传到CocoaPods上
1.首先验证你本地的podspec文件,之后会上传spec文件到trunk
pod trunk push KJEmitterDemo.podspec
2.将podspec文件传到trunk上
master
状态 可以选择更新下 pod repo update --verbose
3.一直处于Updating spec repo pod search KJEmitterDemo
4.检查是否上传成功: 七、Bug总结
1、[!] There was an error registering with trunk: getaddrinfo: nodename nor servname provided, or not known
- 解决方案:开启了ShadowSocks,把ShadowSocks关闭再重试就好了,根本原因是DNS不对
- 附上解决方案链接:https://link.jianshu.com/?t=https://github.com/CocoaPods/CocoaPods/issues/2174
2、- WARN | [iOS] license: Unable to find a license file
- 原因:没有找到License文件,根据规则也可以直接把文本写在podspec文件里
- 解决方案:podspec文件里面添加
- s.license = "Copyright (c) 2018 yangkejun"
3、- WARN | source: The version should be included in the Git tag.
- 原因:podspec里的version要跟git上的tag相匹配
- 解决方案:
- 查看当前tag: git tag
- 推到远端: git push --tags
4、[!] Unable to accept duplicate entry for: KJEmitterDemo (1.0.0)
- 原因:重复
- 解决方案:
- 4.1.重新给git库添加tag git tag -a 1.0.2 -m'release 1.0.0'
- 4.2.上传到远端 git push origin --tags
- 4.3.重新修改podspec文件 s.version = "1.0.1"
- 4.4.再次校验 pod spec lint KJEmitterDemo.podspec --allow-warnings
- 4.5.最后上传到trunk pod trunk push KJEmitterDemo.podspec
5、[!] Unable to find a pod with name, author, summary, or description matching KJEmitterDemo
- 原因:审核过程是要两三天
- 解决方案:
- 执行
pod setup
命令进行本地依赖库更新,然后再搜索 - 如果还是不行删除~/Library/Caches/CocoaPods目录下的search_index.json文件
- 执行
rm ~/Library/Caches/CocoaPods/search_index.json
- 然后再执行搜索
pod search KJEmitterDemo
- 成功如下:
6、校验不通过
-
可能原因:github上面的tag文件格式已经确定,下图位置下载下来看一下,是否和本地的文件格式保持一致。如果不一致按照下列方式解决bug。
-
解决方案:很明显不一样
-
删除本地tag:
git tag -d 1.0.0
-
删除远端tag:
git push origin -d tag 1.0.0
-
重新添加本地tag:
git tag -a 1.0.0 -m ‘release 1.0.0’
-
重新上传到远端:
git push origin --tags
-
再次校验:
pod spec lint KJEmitterDemo.podspec