专栏首页即时通信与音视频CocoaPods 私有仓库依赖 LiteAVSDK 详解
原创

CocoaPods 私有仓库依赖 LiteAVSDK 详解

iOS端组件化开发通常会用到 CocoaPods 远程私有仓库的方式来管理相关代码和依赖库。本文主要介绍搭建远程私有库的流程,以及依赖第三方音视频库 TXLiteAVSDK_Professional 为例子的操作介绍。

一、准备索引库和代码库

创建索引库和代码库这部分比较简单,可以参考网上资料,以下是为了演示已经创建好的索引库(码云)和代码库(Github):

1.索引库地址:https://gitee.com/qq2873546348/MyRepo.git

索引库

2.代码库地址:https://github.com/ZacharyBoom/YzlLiteAVManager.git

代码库

二、本地添加索引库和配置模板库

1.在终端输入以下命令将远程索引库添加到本地,路径就是第一步创建的索引库地址,之后在~/.cocoapods/repos目录下就能看到对应的仓库:

pod repo add MyRepo https://gitee.com/qq2873546348/MyRepo.git

2.新建一个目录,在该目录下创建模版库,并回答下如图的问题,正常情况下创建完成后会自动帮我们打开相应的Example项目:

pod lib create YzlLiteAVManage

实际操作中这一步可能会遇到输入命令回答问题之后,终端没有图中 Running pod install on your new library 的相关输出,本地目录生成的模块库也与下图不一致。笔者原本用的 Cocopods 版本是1.5.2,升级版本成1.6.1解决了这个问题。

3.测试本地示例,可以在模板库下的 Classes 目录添加自己的代码,在 Example 下面 pod install 就可以下载到:

4.修改模板库里面的podspec,并添加依赖 TXLiteAVSDK(依赖可选,这里是为了演示):

三、上传组件代码

  1. 将代码提交到代码仓库以及打标签
git add .

git commit -m 'firstCommit'

git remote add origin https://github.com/ZacharyBoom/YzlLiteAVManage

// 第一次push如果报错的话可以加上-f

// git push -f origin maste

git push origin maste



//打标签

git tag '0.1.0'

git push --tags

2.本地验证和远程验证模板库

//本地验证 

pod lib lint --private



//远程验证,注意这里会验证 s.source 中的tag,如果没有打上相应的标签则会报错

pod spec lint --private

建议先本地验证再测试远程验证,这里重点说下有些开发者反馈不添加依赖 TXLiteAVSDK 会验证通过,添加了这个验证就不通过,这里建议试下终端输入的命令为以下命令,亲测没问题,:

pod lib lint --verbose --use-libraries --allow-warnings --skip-import-validation

3.添加组件到索引库

pod repo push MyRepo YzlLiteAVManager.podspec --verbose --use-libraries --allow-warnings --skip-import-validation

四、使用私有库

  1. Podfile 加上索引库的地址源:

2.在项目里面 pod install 即可下载到对应的私有代码库和依赖库

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 笔记(十九)——安卓混合开发技术点

    一、混合开发几款移动跨平台App开发框架比较 1.PhoneGAP 2.Cordova 3.Dcloud 4.APICloud 5.APPCan 6...

    紫兮木溪
  • iOS GPS 准确度哪些事

    今天遇到这么一个问题,Android App使用百度地图定位上传服务器的时候,发现有几段不同时间但是经纬相同的情况,Android调查是因为有的手机GPS定位关...

    赵哥窟
  • iPhone X 弹出输入框隐藏后页面上移不回位问题的解决办法

    现象:简单的说就是iPhoneX页面里有输入框时,点击输入框,无论是否输入内容,点击输入框的完成或者页面其他地方隐藏输入框后,发现页面被整体顶上去了,而输入框的...

    吴裕超
  • Appium+python自动化(二十七)-让你在手机找到溜冰一样的感觉666,溜得飞起来 - 低级滑动(超详解)

      随着现在智能手机的普及和应用,小到五六岁或者更小的娃娃,老至七八十岁老头老太太都是智能手机的用户,基本上达到每个人都在用,每次在地铁或者公交上,就看看到这样...

    北京-宏哥
  • 5种最好用的YouTube视频下载工具

    原文地址:https://www.fucosoft.com/download-video/best-4k-video-downloader.html

    用户5981550
  • 老司机 iOS 周报 #77 | 2019-07-29

    你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Is...

    用户2932962
  • 输入和选择

    在前面的文章中我们学习了Flutter中事件的处理,包括组件的单击、双击、长按、滑动等。想必大家多其已经有了一定的认识。

    flyou
  • Flutter中的路由与跳转

    在前一篇的文章我们学习了ListView和GridView的用法,我们可以使用new 方式和ListView.builder()、ListView.custom...

    flyou
  • 移动设备(手机)的唯一ID详解

    平台支持:Android - 2.2+ (支持): 与设备的imei号一致。注意:如果无法获取设备imei则使用设备wifi的mac地址,如果无法获取设备mac...

    php007
  • iOS的文件内存映射——mmap

    mmap在日常开发中偶尔会遇到的一个关键词,最常用到的场景是MMKV,其次用到的是日志打印。虽然都已经被封装好,但也需要了解下mmap的基本原理和过程。

    落影

扫码关注云+社区

领取腾讯云代金券