使用码云搭建CocoaPods远程私有库

一、创建远程私有索引库

用来存放私有框架的详细描述信息.podspec文件

1. 创建私有库

假设码云上创建的私有库为repo-spec

2. 查看本地已存在的索引库

pod repo list

在这里插入图片描述

3. 将远程私有索引库添加到本地

pod repo add [https://gitee.com/jingluoguo/repo-spec.git](https://gitee.com/lsapp_dev/repo-spec.git) 地址改成实际的repo-spec地址

4. 再次查看本地已存在的索引库

此时就可以看到repo-spec

二、创建基础组件库

1. 创建私有库

假设码云上创建的私有库为AKTalkKit

2. 本地创建模版工程

进入所需要的目录,假设为oc_private_pods

pod lib create AKTalkKit

在这里插入图片描述

根据所需选择即可。

3. 按需修改组件代码

修改ReplaceMe文件名及内容即可,记得cd Example后 执行pod install

在这里插入图片描述

4. 将基础组件库上传到gitee

  • 修改AKTalkKit.podspec

在这里插入图片描述

  • 检查podspec 是否正常

pod lib lint --allow-warnings --verbose ,当出现AKTalkKit passed validation,代表验证成功

  • git 提交
git statusgit add .git commit -m ‘AkTalkKit 库上传’# 将本地库与远程库进行关联
git remote add origin [https://gitee.com/jingluoguo/](https://gitee.com/lsapp_dev/repo-spec.git)AkTalkKit[.git](https://gitee.com/lsapp_dev/repo-spec.git) # 此处为实际git地址git push origin mastergit tag '0.1.0' # 要与实际版本一样git push --tags

5. 将podspec提交到私有索引库

pod repo push repo-spec AkTalkKit.podspec

三、注意

1. 可以在podspec中使用s.subspec来进行分库

s.subspec 'Package1' do |p|p.source_file = 'AkTalkKit/Classes/Package1/*'p.dependency 'AFNetworking'
ends.subspec 'lottie' do |l|l.source_file = 'AkTalkKit/Classes/lottie/*'p.dependency 'lottie-ios'
end

2. 修改Kit库后执行二.4和二.5即可

3. OC主程序使用私有框架时,如果私有框架中存在代码生成全局变量,那么需要使用xxx-umbrella.h 文件调用

-umbrella.h 文件通常是 CocoaPods 插件或构建系统自动生成的 Objective-C 模块头文件(也称为 “umbrella header”)。

当私有库包含 Objective-C 代码,并通过 CocoaPods 或 Xcode 的模块系统(如 DEFINES_MODULE = YES)构建时,构建系统会自动生成 _oc-umbrella.h

-umbrella.h 会包含所有标记为 Public 的 Objective-C 头文件,使得其他模块(如 Swift)可以通过单一头文件访问所有公开的 Objective-C 类和方法。

4. 当私有库过大时,可以设置git缓存大小

git config --global http.postBuffer 1073741824
git config --global core.compression 9
git config --global pack.windowMemory 512m

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/36595.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Devops之AWS:如何安装AWS CLI

AWS 命令行界面(AWS CLI)是一种开源工具,让我们能够使用命令行 Shell 中的命令与 AWS 服务进行交互。 安装步骤: 下载并运行AWS CLI的MSI安装程序: 点击如下的链接,即可下载MSI安装程序: htt…

docker需要sudo才能使用

一种方法是添加当前用户到docker组里去,当时添加的时候貌似是没问题的,但是现在又不可以了 产生的报错 ❯ docker images Cannot connect to the Docker daemon at unix:///home/ying/.docker/desktop/docker.sock. Is the docker daemon running?解决…

jmeter将返回的数据写入csv文件

举例说明,我需要接口返回体中的exampleid与todoid的数据信息(使用边界提取器先将其提取),并将其写入csv文件进行保存 使用后置处理器BeanShell 脚本实例如下 import java.io.*;// 设置要写入的文件路径 String filePath "…

在线教育网站项目第四步:deepseek骗我, WSL2不能创建两个独立的Ubuntu,但我们能实现实例互访及外部访问

一、说明 上一章折腾了半天,搞出不少问题,今天我们在deepseek的帮助下,完成多个独立ubuntu24.04实例的安装,并完成固定ip,实践证明,deepseek不靠谱,浪费我2个小时时间,我们将在下面实…

Apache Paimon 在抖音集团多场景中的优化实践

资料来源:火山引擎-开发者社区 本文将基于抖音集团内部两大业务的典型实时数仓场景,介绍Paimon在抖音集团内部的生产实践。 作者:李明、苏兴、文杰 抖音集团大数据工程师 目前抖音集团内部主要使用 Lambda 架构进行实时数仓建设,其…

PDF Reader Pro for Mac v4.9.0 PDF编辑/批注/OCR/转换工具 支持M、Intel芯片

PDF Reader Pro 是一款用户必备的集管理、编辑、转换、阅读功能于一体的专业的全能PDF阅读专家。快速、易用、强大,让您出色完成 PDF 工作。 应用介绍 PDF Reader Pro,一款功能齐全且强大的PDF阅读和编辑软件。支持PDF阅读、批注、PDF编辑、PDF格式转换…

HTML5与CSS3新特性详解

一、HTML5新特性 1.概述 HTML5 的新增特性主要是针对于以前的不足,增加了一些新的标签、新的表单和新的表单属性等。 这些新特性都有兼容性问题,基本是 IE9 以上版本的浏览器才支持,如果不考虑兼容性问题,可以大量使用这些新特…

shell 脚本搭建apache

#!/bin/bash # Set Apache version to install ## author: yuan# 检查外网连接 echo "检查外网连接..." ping www.baidu.com -c 3 > /dev/null 2>&1 if [ $? -eq 0 ]; thenecho "外网通讯良好!" elseecho "网络连接失败&#x…

Linux环境使用jmeter做性能测试

一、安装JDK,版本jdk1.8 1、下载压缩包到/jdk目录下解压 cd /jdk tar -zxvf jdk-8u241-linux-64.tar.gz 2、配置环境变量 在profile文件中末尾新增信息如下所示 vim /etc/profile export JAVA_HOME/usr/local/java/jdk/jdk1.8.0_221 export PATH$PATH:$JAVA_HOM…

巧用符号链接搬移C盘中的软件数据目录到其他盘

#工作记录 我们知道,在Windows11系统,有些软件是不能指定安装目录的,有些软件即使指定了安装目录可是在更新版本之后还是会安装到默认的C盘目录中(比如剪映),而且每次安装某些软件之后,这些软件…

Mysql的安装配置

目录 MySQL 简介 MySQL 的下载安装 mysql配置【默认以及下载好】 (1)配置环境变量 (2)修改配置文件 (3)以管理员身份运行cmd(一定要用管理员身份运行,不然权限不够) …

登山第二十梯:无人机实时自主探索——我是一只小小小鸟

文章目录 一 摘要 二 资源 三 内容 一 摘要 自主探索是无人机 (UAV) 各种应用的基本问题。最近,基于 LiDAR 的探索因其能够生成大规模环境的高精度点云地图而受到广泛关注。虽然点云本身就为导航提供了信息,但许多现有的勘探方…

基于FPGA轨道交通6U机箱CPCI脉冲板板卡

板卡简介: 本板为脉冲板,脉冲板主要执行CPU下达的指令,通过实现各种控制算法来调节PWM,然后输出光纤PWM信号来驱动变频器功率模块以达到控制电机的目的。 性能规格: 电源:DC5V;15V FPGA&…

一键批量txt转DWG,DWG转txt——插件实现 CAD c#二次开发

如下图,我们有大量dwg需要转为txt格式,或txt格式坐标需要转为dwg格式,此插件可一键完成一个文件夹下所有文件的转换。 插件使用方式 命令行输入: netload 加载此dll插件, 输入: dwg2txt 可将dwg转为t…

【Unity基础】Unity中角色动画的三种实现方式

在Unity中,角色动画有三种不同的实现方式:逐帧动画(Frame-by-Frame)、剪裁动画(Cutout)和骨骼动画(Skeletal),各自适用于不同的场景和需求。以下是它们的核心区别及特点&…

Flutter中Align的使用说明

又失业了,作为一个高龄Android程序员今年找工作真难呀。现在Flutter是必需技能了,所以最近在自学。所用书籍叫《Flutter实战》,如下 如今已看了100多页,发现这本书写得……有点赶吧,好几处讲得不清不楚,而关…

leetcode hot100(五)

11. 盛最多水的容器 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你…

echarts+Vue2 自动轮播饼图

1、首先下载echarts,并且全局引入echarts 方法:从 npm 安装 npm install echarts 在 main.js 文件中全局引入 然后创建一个vue文件,名字随便起,比如 pieChart.vue,话不多说,直接上才艺:&…

自学软硬件第755 docker容器虚拟化技术

见字如面, 这里是AIGC创意人_竹相左边, 正在通过AI自学软硬件工程师,目标手搓可回收火箭玩具。 我很喜欢 《流浪地球 2》中 ,马兆:没有硬件支撑,你破解个屁。 写作背景 今天在剪视频,然后看…

单片机自学总结

自从工作以来,一直努力耕耘单片机,至今,颇有收获。从51单片机,PIC单片机,直到STM32,以及RTOS和Linux,几乎天天在搞:51单片机,STM8S207单片机,PY32F003单片机,…