私有化三方库,告别Failed to connect to github.com port 443: Timed out

简介: 最近几天公司的打包机打包iOS项目一直失败,索性就去查看了一下打包日志,大多数报错都是cocoapods处理 Timed out。

最近几天公司的打包机打包iOS项目一直失败,索性就去查看了一下打包日志,大多数报错都是cocoapods处理 Timed out。


image.png


虽然我本地pod update也有很多时候是失败的,但是好歹还有成功的,这个打包机就一直失败,很是气人。既然是下载三方库超时,那我就把这些三方库源码拿来,私有化到我们公司的gitLab上。


pod私有库的制作并不陌生,只不过以前是把自己的组件封装成pod私有库,现在是把三方的pod库私有化一遍。不熟悉pod私有库制作的同学可以去网上搜一下,这里我介绍一下私有化三方库的方式和注意点。


三方的pod库大致可以分为两种:



一、是github上公开的三方库,可以下载源码库的,比如:AFNetworking、SDWebImage等,这类三方库我们可以选择直接git clone到自己电脑上,进入到源码目录下,然后通过 git remote set-url origin "{你的私有库源码存放仓库地址}" 来切换Git远端地址为私有库地址,然后将三方库的源码推送到自己的私有仓库中,同时也要把tag推送上去。接下来修改源码仓库中的.podspec文件中source为自己的私有库地址。最后将.podspec文件推送到自己创建的存放podspec文件的索引仓库中即可。这个过程中,如果遇到不能验证***branch错误,可以git tag查看一下tag记录,如果没有tag,创建一个tag比如:v0.0.1,推送上去,再次验证。(ps:还有一种粗暴的方式,就是只需要把三方库的核心文件(最终你项目中要用的文件)拿来,放到自己的私有库中,重新命名也行,版本号也可以不跟随,自己知道怎么回事就行😄)


二、是企业的三方库,比如腾讯的WechatOpenSDK、Bugly和极光的JPush、JCore等,这类三方库,我们在私有化的时候,就需要注意的是:这类库中基本都是.a 或者.framework作为库文件存在的,原因是企业的SDK都是保密的,不想让你看到源码啊,不然别人怎么赚钱呢?好吧,扯多了。这里有个重要的环节就是,我们需要知道别人pod库中都添加了哪些配置,也就是podspec文件中都写了哪些配置项。公开的三方库,我们可以很直观的看到podspec文件的配置,企业的私有库就不行了。但是我们可以通过先pod一下三方库,看看他都有哪些依赖。如图:


image.png


这里的OTHER_LDFLAGS就是对一些系统库的依赖,如果想知道他依赖哪些三方库,可以单独pod一下这个库,看看都有哪些三方库依赖。至此,私有化三方库就介绍完了,如果小伙伴们还有疑惑,可以私聊,一起讨论讨论。




相关文章
|
3月前
|
网络协议 Shell 网络安全
ssh: connect to host github.com port 22: Connection refused
本文讨论了在使用Git命令操作GitHub时遇到的"ssh: connect to host github.com port 22: Connection refused"错误,分析了可能的原因,并提供了使用443端口或https协议作为解决方案,最终确定问题是由于DNS解析错误导致,通过修改hosts文件解决。
ssh: connect to host github.com port 22: Connection refused
|
4月前
|
网络安全 开发工具 git
【git】解决git报错:ssh:connect to host github.com port 22: Connection timed out 亲测有效
【git】解决git报错:ssh:connect to host github.com port 22: Connection timed out 亲测有效
954 1
|
5月前
|
开发工具 git
【已解决】error: failed to push some refs to ‘git@github.com:BATdalao/Github-green.git‘
【已解决】error: failed to push some refs to ‘git@github.com:BATdalao/Github-green.git‘
|
5月前
|
开发工具 git
出现“error: failed to push some refs to ‘https://github.com/****.git‘”,如何解决问题
出现“error: failed to push some refs to ‘https://github.com/****.git‘”,如何解决问题
502 1
|
6月前
|
Web App开发 缓存 开发工具
Failed to connect to github.com port 443: Operation timed out和弹出无法打开"GoogleSoftwareUpdate.bundle"
Failed to connect to github.com port 443: Operation timed out和弹出无法打开"GoogleSoftwareUpdate.bundle"
91 2
|
29天前
|
编解码 Oracle Java
java9到java17的新特性学习--github新项目
本文宣布了一个名为"JavaLearnNote"的新GitHub项目,该项目旨在帮助Java开发者深入理解和掌握从Java 9到Java 17的每个版本的关键新特性,并通过实战演示、社区支持和持续更新来促进学习。
68 3
|
3月前
|
Rust 前端开发 JavaScript
Github 2024-05-20 开源项目周报 Top15
根据Github Trendings的统计,2024年5月20日当周共有15个项目上榜。按开发语言分类,项目数量如下:Python项目5个,TypeScript项目3个,C++项目2个,Jupyter Notebook项目2个,C、Go、Rust和C#项目各1个。介绍了多个值得关注的项目,包括ChatGPT桌面应用程序、Fooocus图像生成软件、Jellyfin媒体系统等。这些项目涵盖了多种功能和技术领域,值得关注和研究。
55 3
|
3月前
|
SQL JavaScript 前端开发
Github 2024-08-05 开源项目周报 Top15
根据 Github Trendings 的统计,本周(2024年8月5日统计)共有15个项目上榜。以下是根据开发语言汇总的项目数量: - Go 项目:4个 - JavaScript 项目:3个 - Python 项目:3个 - Java 项目:2个 - TypeScript 项目:2个 - C 项目:1个 - Shell 项目:1个 - Dockerfile 项目:1个 - 非开发语言项目:1个
86 2
|
3月前
|
人工智能 Rust JavaScript
Github 2024-08-26 开源项目周报Top15
根据Github Trendings的统计,本周共有15个项目上榜。以下是按开发语言汇总的项目数量:Python项目8个,TypeScript、C++ 和 Rust 项目各2个,Jupyter Notebook、Shell、Swift 和 Dart 项目各1个。其中,RustDesk 是一款用 Rust 编写的开源远程桌面软件,可作为 TeamViewer 的替代品;Whisper 是一个通用的语音识别模型,基于大规模音频数据集训练而成;初学者的生成式人工智能(第2版)则是由微软提供的18门课程,教授构建生成式AI应用所需的知识。
122 1
|
3月前
|
Rust Dart 前端开发
Github 2024-08-19 开源项目周报Top15
根据Github Trendings的统计,本周(2024年8月19日统计)共有15个项目上榜。按开发语言分类,上榜项目数量如下:Python项目最多,有7项;其次是JavaScript和TypeScript,各有3项;Dart有2项;HTML、PowerShell、Clojure和C++各1项。此外,还介绍了多个热门项目,包括Bootstrap 5、RustDesk、ComfyUI、易采集、Penpot等,涵盖了Web开发、远程桌面、自动化测试、设计工具等多个领域。
105 1