cocoapods创建公有库

作者: 爱玩游戏的iOS菜鸟 | 来源:发表于2020-05-22 23:43 被阅读0次

笔者之所以写这篇文章是因为自己记性不好,方便自己和像我一样的人查阅,顺便把自己项目里用到的东西分享给大家,忘记了再查阅一下。

1、注册CocoaPods账户信息(已注册过请略过)

创建一个开源pod库, 首先我们要注册CocoaPods账户, 使用trunk方式在终端执行:

pod trunk register '邮箱地址' '用户名'  --description=‘描述内容’ --verbose

可以直接使用GitHub邮箱和用户名, 然后在你的邮箱中会收到确认邮件, 在浏览器中点击链接确认即注册成功, 成功之后可以终端执行:

pod trunk me

如果显示类似下面的信息,代表已经成功!


image.png

2、创建仓库并克隆

1. 首先创建一个你想上传的库的同名仓库
image.png
2. 克隆到本地
image.png image.png

3. 创建.podspec文件并修改对应信息,将上传代码文件夹拖进去

pod spec create ZQNetworking.podspec
image.png
Pod::Spec.new do |spec|

  spec.name         = "ZQNetworking" # 项目名称

  spec.version      = "1.0.0" # 版本号 与 你仓库的 标签号 一致

  spec.summary      = "A set of useful Base Object for Foundation, UIKit and more.This is my personal packaged network request tool" # 项目简介

  spec.homepage     = "https://github.com/zziqiang/ZQNetworking" # 项目主页

  spec.license      = "MIT" # 开源证书

  spec.author             = { "zhengziqiang" => "a516969532@163.com" } # 作者信息

  spec.social_media_url   = "https://github.com/zziqiang" # 个人主页

  spec.platform     = :ios, "9.0" #平台及支持的最低版本

  spec.source       = { :git => "https://github.com/zziqiang/ZQNetworking.git", :tag => spec.version } #你的仓库地址,不能用SSH地址

  spec.source_files  = "ZQNetworking/**/*.{h,m}" # 代码的位置, ZQNetworking/*.{h,m} 表示 ZQNetworking 文件夹下所有的.h和.m文件

  spec.requires_arc = true # 是否启用ARC

  # spec.public_header_files = "Classes/**/*.h"

  # spec.resources = "Resources/*.png"

  spec.dependency "AFNetworking" ,"~> 3.2.1"

  spec.frameworks = "UIKit" # 依赖库

end
文件夹结构

4. 编写完成后需要验证.podspec文件的合法性

pod lib lint ZQNetworking.podspec

其他命令:

//本地验证
pod lib lint      
//本地和远程验证   
pod spec lint    
// 显示详细的检测过程,出错时会显示详细的错误信息
pod lib lint --verbose
//允许警告,用来解决存在警告导致不能通过校验的
pod lib lint --allow-warnings  
4.1 这里常见的错误

ZQNetworking.podspec中的路径、名称千万不能错了!
dependency、source_files这两个一定不能搞错了!
这一点是最重要的!如果创建的公有库依赖其三方库在验证过程中会报[-Werror,-Wnon-modular-include-in-framework-module],是不能在.h文件中直接引入三方文件的!

4.2 解决办法

如无必要,尽量在.m文件中声明 eg:#import "AFNetworking.h"
如果一定要暴露三方库才有的参数或接口 #import <AFNetworking/AFNetworking.h>

不断排错,不断验证,直到出现下面的结果:

image.png

恭喜你,即将踏上公有库创建成功之路了!

5、打tag标签,提交到远程仓库

git tag -a '1.0.0' -m '第一次提交'

git push --tag #推送tag到远端仓库

在此之前,需要先提交一次代码,然后打标签,相关git命令行操作自行百度,也可以使用sourceTree提交

6、发布自己的库描述文件.podspec至cocoapods

完成上面,仅代表你已经上传成功,通过pod search ZQNetworking找不到的,也无法使用

pod trunk push ZQNetworking.podspec --allow-warnings

发布到cocoaPods,之后还需要更新本地的search_index.json文件

//pod setup成功后生成的~/Library/Caches/CocoaPods/search_index.json文件, 是用来查找的索引文件
rm ~/Library/Caches/CocoaPods/search_index.json
或者
pod repo update
//并再次输入:
pod search ZQNetworking

成功!

6.1 遇到的问题

其实,我并没有成功 = =|| ,我遇到了重名的问题!!!


image.png

没办法,重新来一遍


提交成功!

7、更新维护podspec

后续需要版本迭代,修改工程文件后推送到远端仓库后, 需要修改podspec中的版本号, 并重新打tag上传, 再进行新一轮的验证和发布。(重复5-6操作

相关文章

  • CocoaPods 公有库, 私有库的创建

    CocoaPods 公有库, 私有库的创建 * 公有库 创建远程公有库,我们是用trunk的方式 1.1: 注册C...

  • 如何自己写一个iOS第三方库

    CocoaPods 私有仓库的创建(超详细) CocoaPods公有仓库的创建 如果私有库search不到,可以

  • CocoaPods创建公有和私有Pod库方法总结

    目录 创建公有pod库注册CocoaPods账户信息创建共享库文件并上传到公有仓库编辑.podspec文件打tag...

  • iOS之创建CocoaPods公有库采坑记

    即上一篇iOS之使用Cocoapods创建公有仓库,本文就CocoaPods创建公有库踩到的坑做一下分享: 遇到的...

  • 创建cocoaPods公有库

    1.在 github 上创建仓库,(包含README,LICENSE(MIT格式)) 2.将仓库 clone 到本...

  • cocoapods创建公有库

    笔者之所以写这篇文章是因为自己记性不好,方便自己和像我一样的人查阅,顺便把自己项目里用到的东西分享给大家,忘记了再...

  • 创建 CocoaPods 公有库

    1.在github上创建项目仓库 2.创建本地项目 1.在桌面上创建一个文件夹,名字随意 我这里是CommonFi...

  • cocoapods创建公有库

    1.github上创建新仓库 打开github,登录自己的账号,然后创建自己的新仓库,如图: 此时仓库已经创建成功...

  • 公有库和私有库

    CocoaPods创建公有库和私有库的步骤总结https://blog.hudongdong.com/ios/92...

  • iOS创建CocoaPods公有库

    前言 做一个手心向下的人,之前总是拿来主义,喜欢用别人的东西,自己比较懒省事,怎么简单怎样来,积累的小组件也都是在...

网友评论

    本文标题:cocoapods创建公有库

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