创建Cocoapods私有库托管工程的模块进行依赖

创建Cocoapods私有库托管工程的模块进行依赖

业务需求: 明年可能做一个新的项目但是大部分的功能模块是一样的 如果使用不同的Target可能代码里面不同的判断 这是十分痛苦的 有没有好的办法集成模块 并且十分容易的修改扩展 我想到了Cocoapod进行依赖 但是之前全部托管到GITHUB上面 属于共有的库 今天就百度了一下资料 做了一下私有库 分享一下经验

我们按照一个软件MAMP

下载免费版本就可以了,我们只是当做PHP服务器就好了。

我们前往下面的目录

/Applications/MAMP/htdocs

新建一个文件夹

GBRepoGits

存放我们工程的不同模块

比如我们先新建一个存放ENUM的模块

GBDefineENUM

我们考虑可能有不同的版本 因为可能需要自定义并且 可能其他模块的改动 我们新增1.0版本

1.0

我们在1.0的目录新增文件夹 存放我们的文件

DefineEnums

我们现在的目录就是

/Applications/MAMP/htdocs/GBRepoGits/GBDefineENUM/1.0/DefineEnums

在本目录的终端执行下面的命令

pod spec create GBDefineENUM1.0

配置GBDefineENUM1.0.podspec文件

Pod::Spec.new do |s|
  s.name         = "GBDefineENUM1.0"
  s.version      = "1.0"
  s.summary      = "测试"
  s.homepage     = "http://localhost:8989/GBRepoGits/GBDefineENUM/1.0/"
  s.license = { :type => 'MIT', :text => <<-LICENSE
                   Copyright 2012
                   Permission is granted to...
                 LICENSE
               }
  s.author             = { "15038777234" => "15038777234@163.com" }
  s.platform     = :ios, "8.0"
  s.source       = { :http => 'http://localhost:8989/GBRepoGits/GBDefineENUM/1.0.zip' }
  s.source_files  = "1.0/DefineEnums/**/*.{h,m}"
  s.requires_arc = true
end

其他的配置和创建共有的是一样的 只不过我们使用的是zip的文件包 zip就是我们1.0目录的打包

我们在终端执行

pod spec lint --verbose

我们在工程podfile添加下面代码执行正常的pod install 和 pod update就可以了

pod 'GBDefineENUM1.0', :podspec => '/Applications/MAMP/htdocs/GBRepoGits/GBDefineENUM/1.0/GBDefineENUM1.0.podspec'

注意事项

之前podspec执行的路径是我本地PHP的spec路径提示我编码不正确 我觉得可能就是PHP自动帮我展示转码了

就换成本地的文件路径是可以的

想说的话

对于我们的项目想完全模块脱离 我觉得很大的工作量 我觉得应该可以 我这几天研究一下

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序猿DD

使用Consul做服务发现的若干姿势

来源:http://blog.bossma.cn/consul/consul-service-register-and-discovery-style/?hms...

8104
来自专栏idba

基于consul的Redis高可用方案

这几天在研究如何做Redis的高可用容灾方案,查询了资料和咨询DBA同行,了解到Redis可以基于consul和sentinel实现读写分离以及HA高可用方案。...

3191
来自专栏人云亦云

Zookeeper部署与动态扩容

最近在一直维护以前的一个实时计算的系统,用到了很多有关storm、kafka、zookeeper之类的知识。自己也一直在学习这些系统的架构、源码。

1.9K8
来自专栏不想当开发的产品不是好测试

jenkins 邮件添加附件

背景 当CI执行失败的时候,想获取到失败的用例,然后在本地调试,testNG是自带一个testng-failed.xml来记录的; 想法:尝试使用git 来p...

2565
来自专栏北京马哥教育

必看!深入理解linux系统的目录结构就靠本文了

本文由马哥教育面授班24期学员推荐,转载自互联网,作者为郭東,内容略经小编改编和加工,观点跟作者无关,最后感谢作者的辛苦贡献与付出。 Linux和Windows...

5557
来自专栏Golang语言社区

web server与app server有什么不同

简单来说,web服务器提供页面给浏览器,而app服务器提供客户端可以调用的接口。具体而言,我们可以说:Web服务器处理HTTP请求,而app服务器基于多种不同的...

4065
来自专栏C/C++基础

google C++编程风格指南之头文件的包含顺序

(1)为了加强可读性和避免隐含依赖,应使用下面的顺序:C标准库、C++标准库、其它库的头文件、你自己工程的头文件。不过这里最先包含的是首选的头文件,即例如a.c...

1131
来自专栏编程坑太多

『中级篇』docker的数据持久化存储和数据共享(32)

PS:源码https://github.com/limingios/docker No.3 方便学习数据持久化存储

2294
来自专栏锦小年的博客

pycharm使用笔记2-远程连接

随着科技的发展,远程办公已经是一种趋势,远程开发能力对于每一个程序员来说都是必不可少的。有时候就算在公司,在进行开发的时候有许多的数据都是储存在服务器上的,所以...

39810
来自专栏涤生的博客

服务框架之注册中心,你不知道的内幕

前一篇服务框架技术栈粗略分析了服务框架需要的各个核心模块,首先提到的就是注册中心,注册中心实现了服务注册和发现的功能,在服务框架中也发挥着重要的作用。今天主要围...

1232

扫码关注云+社区

领取腾讯云代金券