iOS/MacOS开发IT/互联网iOS 成长之路

iOS如何发布自己的CocoaPods公开库?

2019-08-25  本文已影响0人  腾飞Tenfay

 前面文章已经介绍了安装 CocoaPods 及使用详解,这一篇文章主要教大家制作自己的CocoaPods公开库,下面以 iOS 客户端吐司提示框 DYFToast 为例做一下详细说明。

 如果你是第一次发布自己的CocoaPods公开库,那么你需要注册一个trunk账号。以下是trunk的相关内容。

一、Trunk

  1. 注册Trunk
pod trunk register asd921108@163.com 'asd' --description='macOS Mojave' --verbose

asd921108@163.com - 一个真实存在的邮箱,不一定非得是@163.com,例如xxx.@qq.com
 asd - 用户名 (可选)
 macOS Mojave - 描述性文字(可选)
 --verbose - 打印详细的日志

 在注册成功后,你需要在注册时填写的邮箱里确认trunk账号信息,点击链接确认完成后,这样才能使用trunk。

  1. 查看Trunk
pod trunk me

 显示如下:

$ pod trunk me
  - Name:     Ajax
  - Email:    dyfei_88@163.com
  - Since:    March 3rd, 2016 01:18
  - Pods:
    - clang_api
    - DYFAssistiveTouch
    - DYFCryptoUtils
    - DYFAssistiveTouchView
    - DYFToast
    - DYFBlurEffect
    - DYFCodeScanner
    - DYFAuthIDAndGestureLock
  - Sessions:
    - March 3rd, 2016 01:18 - August 11th, 2018 11:03. IP: 111.203.224.45
    - May 9th, 12:04        -    December 31st, 05:26. IP: 115.171.171.74 Description:
    Mojave

  1. 添加/移除其他Pods维护者
pod trunk add-owner 公共库名 asd950619@163.com #公共库名, email
pod trunk remove-owner 公共库名 asd950619@163.com  #公共库名, email
  1. 查看某个Pods信息
pod trunk info DYFToast

 显示如下:

DYFToast
    - Versions:
      - 2.0.1 (2019-08-11 07:58:52 UTC)
    - Owners:
      - Ajax <dyfei_88@163.com>

二、通过Trunk发布Pods到CocoaPods

  1. 公开库DYFToast发布到Github上,创建LICENSE文件,并打上tag版本号
cd ~/Documents/GitHub/DYFToast/

git add .
git commit -m "commit"
git push origin master

git tag -a '2.0.1' -m "add tag 2.0.1"
git push --tags
git tag
Github公开库Tags
  1. 在DYFToast项目目录下,创建podspec文件
pod spec create DYFToast
创建podspec文件
  1. 配置podspec文件信息
Pod::Spec.new do |s|

  s.name         = "DYFToast"
  s.version      = "2.0.1"
  s.summary      = "The useful toast for iOS."
  s.description  = <<-DESC
    Fully imitating the Android toast, using chain programming, through point operation, it can achieve the properties settings and display of the toast, the code is concise and efficient.
                   DESC
  s.homepage     = "https://github.com/dgynfi/DYFToast"
  s.license      = { :type => "MIT", :file => "LICENSE" }
  s.author       = { "dyf" => "vinphy.teng@foxmail.com" }
  s.platform     = :ios
  s.ios.deployment_target       = "8.0"
  s.source       = { :git => "https://github.com/dgynfi/DYFToast.git", :tag => s.version.to_s }

  s.source_files = "Classes", "Classes/**/*.{h,m}"
  s.public_header_files = "Classes/**/*.h"

  s.frameworks = "Foundation", "UIKit", "CoreGraphics"
  s.requires_arc = true

end

podspec文件介绍在这里不再叙述,推荐文章:

1. cnblogs - podspec文件介绍
2. 简书 - podspec文件介绍
3. 简书 - podspec文件解析

  1. 校验podspec文件
pod spec lint DYFToast.podspec --allow-warnings
校验podspec文件
  1. 发布到Trunk
pod trunk push DYFToast.podspec  --allow-warnings
发布到Trunk
  1. 更新pod库,并删除pod搜索索引
pod setup
rm ~/Library/Caches/CocoaPods/search_index.json
更新pod库
  1. 认领Pods

https://trunk.cocoapods.org/claims/new

  1. 搜索验证
pod search DYFToast
搜索验证

三、删除发布到CocoaPods上的Pods

 如果有小伙伴成功地删除pod trunk me- Pods: 旧库信息项,就可以留言@我,让我学习一下。

pod trunk delete DYFToast 2.0.0 #删除指定版本的pods
pod trunk deprecate DYFToast #将pods设置为过期

四、小技巧

  1. Unable to find a pod with name, author, summary, or description matching 'xxx'

说明:

搜索库:pod search xxx报错;
是search_index.json这个文件的原因,可以将其删除,然后重新生成便可解决此问题。

解决方法:

输入指令:rm ~/Library/Caches/CocoaPods/search_index.json
完成即可重新搜索。

  1. CocoaPods was not able to update the master repo. If this is an unexpected issue and persists you can inspect it running pod repo update --verbose

 其实刚看到这个问题,我是比较懵逼的,不过这句话其实已经告诉你了解决办法:==》更新本地库。

所以我直接使用:

pod repo update --verbose

五、创建CocoaPods私有库

 创建CocoaPods私有库的文章有很多很多,在这里不再叙述,推荐文章:

1. 《 CSDN - iOS创建本地私有CocoaPods库 》
2. 《CSDN - iOS代码组件化(利用CocoaPods创建私有库)》
3. 《 简书 - IOS创建CocoaPods私有库 》

希望读到这的您能点赞,分享和关注一下我,以后还会更新技术干货,谢谢您的支持!

点赞+关注,第一时间获取最新知识点,转发请注明出处。

最后祝大家生活愉快~

上一篇 下一篇

猜你喜欢

热点阅读