spec简介

查看本地pod仓库

~/.cocoapods/repos

Spec文件:描述框架信息
pod setup: 将远程仓库的.spec文件拉取到本地
pod install: 先从本地找到.spec文件

eg: pod install AFNetWorking, 系统会从本地仓库找到AFNetworking的spec描述文件,如果本地没找到,就会从远程仓库拉取相应的文件到本地。

--------------------------------------------本地私有库制作--------------------------------------------

操作方法:

打开终端,
1.在桌面创建PrivateStorage,切换到该目录下:

cd  /Users/huangkunpeng/Desktop/PrivateStorage

2.创建私有库名称’HKPUtils’

pod lib create HKPUtils

3.选择问题答案:

what platform do you want to use? 选择iOS
What language do you want to use? 选择ObjC
Would you like to include a demo application with your library?选择YES
Which testing frameworks will you use? [ Specta / Kiwi / None ] 选择None
Would you like to do view based testing? [ Yes / No ] 选择No
What is your class prefix? 设置类的前缀(这里我填写HKP)

项目文件夹介绍

Development Pods (本地私有库,开发时候用)
ReplaceMe.m (自定义的类放在ReplaceMe.m所在的Classes文件夹里面,然后把ReplaceMe.m删掉)
Example for HKPUtils (本地调试运行的demo)


添加本地私有库到主工程

1.当编译成功后,本地就有了私有库。然后切换到主工程,把私有库添加到主工程。
2.将 pod ‘HKPUtils’, :path => ‘…/’ 拷贝到主工程的 Podfile中,同时修改“…/”路径,路径为文件在你项目中的路径。

注意:pod底层源码是通过Ruby实现。

编译本地私有库不通过原因

情景:假如现在要对项目中的网络库进行组件化,因为网络库是用了AFN,而且引用了其他的本地私有库,并且在Podfile中使用了use_frameworks!,结果编译失败。
原因:use_frameworks! :
如果使用use_frameworks! ,就打包成framework,在pod->header找不到头文件。
如果不使用use_frameworks!,会把以下代码编译成静态库。

target 'HKPUtils_Example' dopod 'HKPUtils', :path => '../'target 'HKPUtils_Tests' doinherit! :search_pathsend
end

解决方法:注释掉use_frameworks!

--------------------------------------------华丽分隔线-------------------------------------------------------------------------------

远程库制作

本地私有库搭建完,进入远程库制作阶段。
1.进入到项目目录根路径

cd  项目目录根路径

2.提交到缓冲区

git add .

3、提交代码

git commit -m '初始化HKPUtils'

4、远程连接

git remote add origin https://{填写你的代码仓库地址}

5、 强制提交

git push origin master -f

提交完代码后,修改HKPUtils.podspec
关键要修改为远程仓库地址:

s.source           = { :git => 'https://github.com/huangkunpeng/HKPUtils.git', :tag => s.version.to_s }

还有s.homepage ,s.author,s.source_files等信息

根据自己的情况修改信息,如下图:

6、验证上一步编辑的 HKPUtils.podspec文件

pod lib lint

7.打版本号

git tag 0.1.0
git push --tags

将podspec文件提交到本地的私有索引库

查看本地已存在的索引库

pod repo

如果不存在‘HKPUtils’,就执行以下命令。否则跳过这步

pod repo add HKPUtils https://{填写远程仓库地址}

将HKPUtils私有库的描述文件HKPUtils.podspec提交到远程仓库中

pod repo push HKPUtils HKPUtils.podspec

参考资料

iOS开发 - CocoaPods远程私有库从0到1

iOS-本地私有库搭建以及远程库制作相关推荐

  1. 【Docker】将本地镜像推送到远程库/私有库

    前言 这里记录如何将本地镜像推送到远程库和私有库. 区别,一个是存放到阿里云,同一个团队可以登录到同一个阿里云仓库,去拉取镜像.一个是存放到本地私有库,同一个团队可以连接同一个私有库,去拉取镜像.例如 ...

  2. GIT 远程仓库:添加远程库、从远程库克隆【转】

    (转自:https://www.cnblogs.com/wangmingshun/p/5424767.html) 到目前为止,我们已经掌握了如何在Git仓库里对一个文件进行时光穿梭,你再也不用担心文件 ...

  3. GIT部署(三)GIT 远程仓库:添加远程库、从远程库克隆

    一.Git安装 在Windows操作系统下,访问Git下载地址https://git-for-windows.github.io/,如果登不进去的话直接百度搜索Git下载也是可以的. 二.注册gith ...

  4. Git如何将本地分支推送到远程库中

    需求 有一个项目,采用Git进行代码版本控制,如何将本地分支feature_A推送到远程分支feature_A,并建立关联关系. 具体实现 针对以上需求,需按以下情况分别处理: 情况一: 远程已有fe ...

  5. git中本地与远程库的关联与取消

    第一步 :配置SSH KEY 默认你已经安装了,git的客户端,这里我们使用git bash操作. 在用户主目录下(这里不是你的git的本地地址,在Windows搜索栏搜索 .ssh),看看有没有.s ...

  6. Git_GitHub——基本操作、创建远程库、远程库操作、团队协作、SSH免密登录

    网址:GitHub: Let's build from here · GitHub 目录 一.创建远程仓库 二.远程库操作 2.1  查看远程库别名 2.2 创建远程仓库别名 2.3 推送本地分支到远 ...

  7. 远程仓库---添加远程库

    现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举 ...

  8. 把本地库推送到github远程库

    [1] github上创建远程库 注意 ,远程库的名字要与本地库相同 [2]新建github远程库别名origin [3] 代码提交 git add ./*  : 把修改内容添加到暂存区 : git ...

  9. Github 简明教程 - 添加远程库

    现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举 ...

最新文章

  1. TOMCAT6中一个警告“Parameters:Invalid chunk ignored ”
  2. Linux strace 跟踪进程信息
  3. multipartfile前端怎么传_前端那些事如何更好管理 Api 接口
  4. php 一些个 常用 函数
  5. 在windows实现和smtp交互发送邮件
  6. mysql------变量
  7. lede lcd4Linux,HLK7688A开发板,刷官方LEDE的LINKIT固件可以开机,但同样的uboot下,烧写原版代码自己编译的固件就会panic,无法识别文...
  8. python读取csv文件中数据_python读取.csv文件中的数据
  9. BUCK电路中,输入电压增加后,电感电流曲线变化的推导 // 《精通开关电源设计》P44 图2-3
  10. 烦了,放弃卡巴——改用小红伞
  11. 利用cookies登录QQ空间
  12. 【2021】13 年终总结
  13. Beyond Compare 安装说明
  14. 对极几何-三角测量-知识点
  15. Dell(戴尔)笔记本加装内存条后出现警告:“Warning Message : Alter!The amount of system memory has changed”
  16. python装饰器这一篇就够了
  17. jsp连接oracle数据库
  18. uniapp下载文件保存自定义目录
  19. 一个仿携程的移动端网站
  20. matlab实现水塔水流量问题

热门文章

  1. 泰坦尼克生存概率预测
  2. java实现人机猜拳小游戏
  3. 碧瑶答疑网-软件需求规格说明书
  4. jenkins实现持续集成、持续部署
  5. JS 反射机制及 Reflect 详解
  6. Nordic DFU更新bootloader步骤
  7. vue实战025:配置TinyMCE富文本编辑器
  8. T检验 卡方检验 检验的要求
  9. 2022杭电多校(三)
  10. 游戏故事的叙述方式:在故事中加入特定的游戏元素