美文网首页iOS 开发整理
创建公有的Cocopods库

创建公有的Cocopods库

作者: crazy一笑 | 来源:发表于2018-05-02 13:05 被阅读110次

1、注册cocopods

启动终端terminal:

$ pod trunk register GitHub_email 'user_name' --verbose

GitHub_email:github邮箱,user_name:用户名。
稍等。。。

[!] Please verify the session by clicking the link in the verification email that has been sent to xxx@qq.com

此时cocopods会给我的邮箱发送一封确认邮件,登录邮箱进行确认。
确认完成之后,在终端:

$ pod trunk me

会看到账号的基本信息。

2、创建Git仓库

GitHub 上创建一个公开项目,项目中必须包含这几个文件

  • LICENSE:开源许可证

  • README.md:仓库说明

  • 你的代码

  • 仓库名.podspec: CocoaPods 的描述文件,这个文件非常重要

    1.LICENSEREADME.md这两个文件在创建Git仓库的时候勾选。
    2.本地Git创建
    • 创建文件夹目录:例如ZXMTBButton。

    • 终端进入目录下,执行

          $ git init
      

      Initialized empty Git repository in /Users/zxm/Desktop/ZXMTBButton/.git/,将文件置于Git管理下。

    • 自己的代码放在目录下

      $ git add .  #添加所有文件
      $ git commit -m 'proj init'  #提交到缓存区
      $ git remote add origin  Git仓库地址 #关联远程仓库地址
      $ git pull --rebase origin master  #远程仓库中有 LICENSE、README.md文件,将其更新带本地,必须。
      $ git push -u origin master #将本地文件推送到远程仓库
3.创建.podspec

.podspec是用 Ruby 的配置文件,描述你项目的信息。

在你的仓库目录下,使用终端命令创建

$ pod spec create ZXMTBButton #创建.podspec

使用xcode打开ZXMTBButton.podspec文件,进行必要编辑:

1、 s.name = "ZXMTBButton" #可以用于pod search
s.version = "0.0.1" #pod search显示的版本号
s.summary = "Custom Button summary."
2、s.description = <<-DESC
Custom Button description。 #这里可以添加描述(必须添加)
DESC
3、s.homepage = "https://github.com/zxmios/ZXMTBButton" #需要修改
4、s.license = "MIT" #协议类型
5、s.author = { "Xianming Zhou" => "" } #可以不修改
6、s.platform = :ios, "8.0"#必须放开
7、s.source = { :git => "https://github.com/zxmios/ZXMTBButton.git", :tag => "#{s.version}" } #需要修改
8、s.source_files = "ZXMTBButton/*.{h,m}" #表示ZXMTBButton目录下所有.h、.m文件
9、s.frameworks = "UIKit", "Foundation" #支持的框架、必须(否则验证时报错)
10、s.requires_arc = true # 是否启用ARC、必须
11、s.dependency "JSONKit", "~> 1.4" #依赖库(可以没有)

需要注意:s.summary和s.description中的描述不能一样,否则验证无法通过。

修改完成:就可以进行最重要的验证了:

$ pod lib lint

[!] ZXMTBButton did not pass validation, due to 1 warning (but you can use --allow-warnings to ignore it).
You can use the --no-clean option to inspect any issue.

如果出现以上错误,根据提示执行:

$ pod lib lint --allow-warnings

-> ZXMTBButton (0.0.1)
ZXMTBButton passed validation.

即可,其他类似错误,根据提示信息采用相应的处理方式。
验证成功后,将仓库提交到远程,然后可以给仓库打上标签并将标签也推送到远程。

3、给仓库打标签

标签相当于将你的仓库的一个压缩包,用于稳定存储当前版本。标签号与你在 s.version = "0.0.1"的版本号一致0.0.1,pod search 搜索显示的版本号。

$ git tag -a 0.0.1 -m '版本0.0.1'
$ git push origin --tags

To https://github.com/zxmios/ZXMTBButton.git
*[new tag] 0.0.1 -> 0.0.1

此时,远程仓库中tags就有了0.0.1标签。

4、发布.podspec

万里长征总算到了最后一步,发布ZXMTBButton.podspec。

$ pod trunk push ZXMTBButton.podspec  

Updating spec repo master
Validating podspec
🎉 Congrats
🚀 ZXMTBButton (0.0.1) successfully published
📅 May 1st, 22:08
🌎 https://cocoapods.org/pods/ZXMTBButton
👍 Tell your friends!

发布成功!
可以访问https://cocoapods.org/pods/ZXMTBButton查看我们的仓库信息了。

最后的最后:删除~/Library/Caches/CocoaPods目录下的search_index.json文件

rm ~/Library/Caches/CocoaPods/search_index.json 

再次使用,pod search ZXMTBButton就可以搜索到我们的库了。

Custom Button summary.
pod 'ZXMTBButton', '~> 0.0.1'

相关文章

  • 创建公有的Cocopods库

    1、注册cocopods 启动终端terminal: GitHub_email:github邮箱,user_nam...

  • 创建cocopods私有库

    通常我们项目中都有一些公共的组件需要抽离出来,减少依赖,今天跟大家介绍的就是怎么通过cocopods创建私有库,引...

  • 解决: [!] Unable to add a sourcewi

    本来cocopods没有问题,最近创建项目,利用cocopods导入第三方库的时候,出现如下错误: [!] Una...

  • Cocoapods 私有库创建

    1、创建新工程。(pod 管理工程) 2、添加QrMockIos 私有库;(在.cocopods/repos/目录...

  • 创建自己的cocopods库

    1、www.github.com 注册并创建一个url克隆本地 2、创建自己本地目录结构为SuBoPod/Clas...

  • Cocopods私有库的创建

    整体流程 整体先说明一下创建一个私有的podspec包括如下那么几个步骤: 创建并设置一个私有的Spec Repo...

  • Cocopods私有库创建(gitLab)

    一、索引库与代码库要在gitLab创建一个组件库,需要创建两个库:索引库与代码库索引库:存放spec文件的地方,用...

  • 创建自己的cocopods库

    一、新建一个git仓库 这里是创建的公开的pod库 二、在本地克隆仓库 git clone https://git...

  • iOS 创建CocoPods公有库

    一 注册CocoPods账号 用终端可以直接进行CocoaPods的注册 二 创建GitHub仓库 仓库名要唯一,...

  • iOS组件化__01

    1.创建自己的spec索引库 暂时放到码云⬆️ 如下图可见 个人_cocopods目录下 已经存在两个索引库mas...

网友评论

  • 流星载梦:楼主报了这个错怎么解,
    MacBook:TestPods admin$ pod spec lint

    -> TestPods (0.0.1)
    - ERROR | [iOS] unknown: Encountered an unknown error ([!] /usr/bin/git clone https://github.com/TomorrowY/TestPods.git /var/folders/bp/gw4r3q0s641gmpk554vyqj5c0000gn/T/d20180510-7905-1yp1gj6 --template= --single-branch --depth 1 --branch 0.0.1

    Cloning into '/var/folders/bp/gw4r3q0s641gmpk554vyqj5c0000gn/T/d20180510-7905-1yp1gj6'...
    warning: Could not find remote branch 0.0.1 to clone.
    fatal: Remote branch 0.0.1 not found in upstream origin
    ) during validation.

    Analyzed 1 podspec.

    [!] The spec did not pass validation, due to 1 error.
    流星载梦:@crazy一笑 谢了,那个不是我发布的,是重名的问题,现在已经解决了,刚开始只改了 s.name的名字,后来发现.podspec文件名也要改一下,然后就好了。谢了
    crazy一笑:@流星载梦 我刚才pod search TestPods搜索到
    testPods (0.0.1)
    ARC and GCD Compatible Reachability Class for iOS
    pod 'testPods', '~> 0.0.1'
    - Homepage: https://github.com/sivadatta/TestPods
    - Source: https://github.com/sivadatta/TestPods.git
    - Versions: 0.0.1 [master repo]
    是你发布的,还是最后提示[!] {"name"=>["is already taken"]}名字已经被使用了?
    我不知道重名可不可以呢。
    crazy一笑:不好意思,刚看到,你是验证报的错吗?命令是pod lib lint,不是pod spec lint吧?

本文标题:创建公有的Cocopods库

本文链接:https://www.haomeiwen.com/subject/tisqrftx.html