创建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自动帮我展示转码了

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

想说的话

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