前言
很多时候, 通过cocoapods导入第三方库, 会觉得很方便, 但是过去的自己一直很懒, 自己写的小工具, 每次写项目都是粘过来贴过去, 最近疫情严重, 工作不忙也尝试把自己曾经写的小工具发表到cocoapods上, 方便自己使用, 也方便有同样需求的人使用, 本文主要记录全过程!
正文
-
创建仓库
在github上创建自己的代码仓库, 并将代码库同步到本地, 创建xcode Project, 以便后续使用
-
注册Trunk 关于 Trunk
首先来说明一下什么是Pod Trunk, 点击上面超链可以跳转至官方教程, 这里简单的描述一下吧, Cocoapods trunk 是一种身份验证和CocoapodAPI服务, 要想发布或更新库到cocoapods上你需要注册Trunk
终端中输入下面的的指令 ///yourEmail即你的邮箱, xxx换成用户名 pod trunk register yourEmail 'xxx' --verbose
执行完上面的命令之后会邮箱会受到一条邮件:
Hi xxxx, Please confirm your registration with CocoaPods by clicking the following link: https://trunk.cocoapods.org/sessions/verify/xxxxx If you did not request this you do not need to take any further action. Kind regards, the CocoaPods team
点击邮件超链验证即可
关于Trunk的命令可以在终端之执行帮助命令获取
pod trunk [command] --help
获取到的如下命令
Commands: + add-owner Add an owner to a pod + delete Deletes a version of a pod. + deprecate Deprecates a pod. + info Returns information about a Pod. + me Display information about your sessions + push Publish a podspec + register Manage sessions + remove-owner Remove an owner from a pod Options: --silent Show nothing --verbose Show more debugging information --no-ansi Show output without ANSI codes --help Show help banner of specified command
通过pod trunk me 命令可以查看已注册的信息如下
- Name: username - Email: your email - Since: March 20th, 03:59 - Pods: None
-
创建.podspec文件
在欲提交的仓库同级目录的地方创建, 例如xxx文件夹为我要上传的框架, 则在同级目录先创建xxx.podspec文件, 通过一下命令创建
//xxx即你的仓库文件夹 pod spec create xxx
-
配置podspec
podspec官方示例请点击 官方示例 , 关于如何编辑podspec文件, 有的人喜欢再命令行中折腾使用vim工具可以编辑, 而我更喜欢使用编辑器编辑, 选择vscode打开, 图形化的编辑更方便, 当然这个根据个人喜好选即可, 刚创建的文件中每个项目都有配置注释, 有耐心的可以研究研究, 基本都是英文, 以下为官方示例我粘贴一段
Pod::Spec.new do |spec| #仓库名字 spec.name = 'Reachability' #版本 spec.version = '3.1.0' #证书, 这个是必须要有的, 而且对应仓库里也应该有license文件 spec.license = { :type => 'BSD' } #仓库服务地址, 一般都放在github上 spec.homepage = 'https://github.com/tonymillion/Reachability' #作者名字, 可以直接赋值 'youname' spec.authors = { 'Tony Million' => 'tonymillion@gmail.com' } #概况,简单介绍一下这个库 spec.summary = 'ARC and GCD Compatible Reachability Class for iOS and OS X.' #指定分支或者标签 spec.source = { :git => 'https://github.com/tonymillion/Reachability.git', :tag => 'v3.1.0' } #仓库文件夹 *是通配符, 可以写 File/*, 意思就是File文件夹下的所有文件 spec.source_files = 'Reachability.{h,m}' #依赖的库 spec.framework = 'SystemConfiguration' #平台版本, spec.platform = :ios, "7.0" end
-
验证podspec文件
执行如下命令
pod lib lint yourRepository.podspec
执行以上命令如果没问题最终会的到如下结果
xxx passed validation. 当然有可能你不那么一帆风顺, 如果不顺利的话, 就根据报错内容去看看是那一条配置错了, 他的报错信息还算比较人性化, 基本都能看得懂
-
推送podspec, 命令如下:
pod trunk push xxx.podspec
如果没有意外你会得到如下反馈
-------------------------------------------------------------------------------- 🎉 Congrats 🚀 XXX (0.0.1) successfully published 📅 March 22nd, 09:21 🌎 https://cocoapods.org/pods/XXX 👍 Tell your friends! --------------------------------------------------------------------------------
这里需要注意一下, 在第3步中 spec.source的配置内容 tag后的名称即你需要对项目打的标签名, 所以这里一定要注意, 如果名字不一致会出错, 打标签应该都能处理吧, 可以通过git tag命令去给仓库打标签, 我还是偏好使用图形化工具 sourcetree, 记得要同步到服务器端,
完成以上步骤就可以开开心心的在别的项目中导入自己的框架了, 祝你玩的愉快, 有任何问题随时可以留言交流
详细可以参照示例: 示例
网友评论