热点新闻
发布自己的开源库到Cocoapods及部分常见错误
2023-07-11 01:12  浏览:3590  搜索引擎搜索“养老之家”
温馨提示:信息一旦丢失不一定找得到,请务必收藏信息以备急用!本站所有信息均是注册会员发布如遇到侵权请联系文章中的联系方式或客服删除!
联系我时,请说明是在养老之家看到的信息,谢谢。
展会发布 展会网站大全 报名观展合作 软文发布



image.png

前言

iOS开发中,我们会经常用到cocoapods来添加依赖库,有时候可能也会自己封装一些好用的库,可以发布到cocoapods分享给各位码友使用。本文将详细讲解如何发布自己的开源库到cocoapods及可能遇到的错误解决方案。

发布开源库到cocoapods

1. 注册cocoapods

如果没有账号的话,需要先注册cocoapods,非常简单。

打开终端输入如下命令:

pod trunk register 邮箱 '名字(起个名字)' --verbose

然后邮箱中会受到一封确认邮件,点击邮件中的链接即完成注册。

接下来在终端中可以查看自己的注册信息,命令如下:

pod trunk me

可以看到如下的注册信息:

- Name: name // 注册时的名字 - Email: email // 注册时的邮箱地址 - Since: January 3rd, 2018 04:26 // 注册时间 - Pods: // 发布成功的开源库 - Sessions: // session信息包含有效期和IP - June 17th, 21:50 - October 24th, 08:11. IP: 123.66.66.66

2. 上传封装好的库到GitHub

将封装好的开源库上传到GitHub,并打上tag标签

git tag '1.0' git push --tags

3. 创建 .podspec文件

在本地仓库中创建.podspec文件,终端cd到要发布的库的本地仓库输入如下命令:

pod spec create RHKit

这里的RHKit是你要发布的库的名称,写成自己的即可。
此时在本地仓库会出现一个RHKit.podspec的文件。

4. 修改 .podspec 文件

为了避免出错过多,可以去GitHub上下载比较成熟的三方库的.podspec文件,然后将内容复制粘贴进自己创建的里边然后进行修改。

以下是我的一个库的.podspec文件内容,仅供参考:

Pod::Spec.new do |s| s.name = 'RHKit' # 库名称 s.version = '1.2.8' # 版本号,与push到GitHub的tag号一致 s.summary = 'iOS常用组件' # 库的描述信息 s.homepage = 'https://github.com/guorenhao/RHKit' # 库在GitHub上的地址 s.license = 'MIT' # 固定 s.authors = {'Abner_G' => 'grh_1990@126.com'} # 作者 => 邮箱 s.platform = :ios, '8.0' # iOS版本最低限制 s.source = {:git => 'https://github.com/guorenhao/RHKit.git', :tag => s.version} # 前部分是库在GitHub上的地址 后边意思是tag与库version一致 s.source_files = 'RHKit*.{h,m}' # 路径 s.frameworks = 'UIKit', 'Foundation' # 依赖框架 s.requires_arc = true # arc end

5. 验证 .podspec 文件

在终端输入如下命令进行验证。

pod spec lint RHKit.podspec

出现如下表示验证通过




image.png

这里可能会遇到一些警告或者错误,错误按照相应的提示进行修改即可。警告可以在发布的时候进行忽略。

6. 发布到cocoapods

在终端输入如下命令发布到cocoapods

pod trunk push RHKit.podspec

如果在验证的时候有警告,不需要修改的话,在发布时候需要添加忽略警告,写法如下:

pod trunk push RHKit.podspec --allow-warnings

显示如下表示上传发布成功




image.png

7. 更新库版本

  1. 对相应的库进行修改之后提交到GitHub
  2. 增加新的tag值;
  3. 修改 .podspec 文件中版本号;
  4. 验证
  5. 发布

Cocoapods部分常见问题错误

1、问题:发布或更新后搜索不到。
解决:在终端输入如下命令。

pod setup

更新之后再进行搜索。

如果还搜索不到,在搜索时添加 --simple,如下:

pod search RHKit --simple

还可以删除~/Library/Caches/CocoaPods目录下的search_index.json文件
终端输入如下命令:

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

再执行pod search 会生成新的~/Library/Caches/CocoaPods/search_index.json文件。

一般情况下上边的解决方案就可以解决了,如果还解决不了,随便找个工程,将刚发布的库添加进去指定版本号,然后执行pod install,执行完之后再pod search就出来了。

2、报错:
[!] Couldn't determine repo type for URL: https://cdn.cocoapods.org/: execution expired
解决:终端执行如下命令

pod repo remove master

完成之后继续之前操作即可。

3、报错:
[!] Authentication token is invalid or unverified. Either verify it with the email that was sent or register a new session.
解决:终端输入如下命令

pod trunk register '邮箱' '名字'

会得到如下回复:

[!] Please verify the session by clicking the link in the verification email that has been sent to 邮箱

去邮箱打开链接验证即可继续执行之前操作。

4、报错:
[!] Failed to connect to GitHub to update the CocoaPods/Specs specs repo - Please check if you are offline, or that GitHub is down
解决:设置 —> 网络偏好设置 —> 高级 —> DNS —> 添加8.8.8.8
添加该代理后,图片加载或者某些网址加载可能会比较慢,所以在使用之后可以移除。

5、报错:
[!] Unable to add a source with url https://cdn.cocoapods.org/ named trunk. You can try adding it manually in /Users/hao/.cocoapods/repos or via pod repo add.

解决:在cocoapods的本地仓库repos中复制粘贴一份master更名为trunk再进行之前操作。

6、报错:
Updating spec repo trunk [!] CDN: trunk URL couldn't be downloaded: https://cdn.cocoapods.org/deprecated_podspecs.txt Response: Timeout was reached
解决:将cocoapods的本地仓库repos中除了trunk之外的所有文件夹及文件删除或移除再进行之前操作。

7、发布报错:
[!] The spec did not pass validation, due to 1 warning (but you can use --allow-warnings to ignore it).
解决:将--allow-warnings加上即可,如下:

pod trunk push RHKit.podspec --allow-warnings

8、报错:
[!] CDN: trunk Repo update failed或者
[!] CDN: trunk URL couldn't be downloaded:
解决:在podfile文件中指定source源,如下:

source 'https://github.com/CocoaPods/Specs.git'

总结

以上就是关于如何发布自己的开源库到Cocoapods及部分常见错误。

如果有什么问题,我们可以一起交流讨论解决。

最后,希望可以帮助到有需要的码友。

发布人:07da****    IP:117.173.23.***     举报/删稿
展会推荐
让朕来说2句
评论
收藏
点赞
转发