本地私有库创建与优化

345 阅读2分钟

我想把自己的工程结构弄得好看一些,一些已经完善的功能代码,除了直接拉来拉去的,能不能也像用cocoapod来管理呢。

创建一个l练习的工程

  • 将工程和功能的本地库放到同一个文件夹下
  • cd 库文件路径
  • 因为是本地的库所以没有必要上传到远程
  • pod spec create XMGBase //注意命名保持一致
  • 打开podspec文件编辑
Pod::Spec.new do |spec|
  spec.name         = "XMGBase"
  spec.version      = "0.0.1"
  spec.summary      = "XMGBase."
  spec.description  = "XMGFMBase.分类, 后期添加工具类"

  spec.homepage     = "http://EXAMPLE/XMGBase"
  spec.license      = "MIT"
  spec.author             = { "Wlfade" => "734691535@qq.com" }
  spec.source       = { :git => "", :tag => "#{spec.version}" }
  spec.source_files  = "Classes", "Classes/**/*.{h,m}"
  spec.exclude_files = "Classes/Exclude"

end
  • cd 工程文件
  • pod init
# platform :ios, '9.0'

target 'XMGLocalP' do
use_frameworks!
 #代表,到时候通过这个路径找到那个文件的 .podspec
 pod 'XMGBase', :path=> '../XMGBase'
end
  • pod install --no-repo-update
  • 导入成功了

但是以后开发出现问题要怎么进行修改与优化呢

优化方案1

  • 创建一个Example测试工程到本地仓库的Classes同级目录下
  • 1.方案1可以直接拖入组件代码到工程中但是不要点copy
  • 2.方案2用一个podfile引入
platform :ios, '8.0'

target 'Example' do
  use_frameworks!
  pod 'XMGFMBase', :path=> '../'
end
  • 返回上一级目录就可以找到这个podspec文件 '../'
  • 这样你就可以在Example中改完代码后自己的工程中的仓库也是同步完成修改了

优化方案2(这个是重点了)

  • 1.先把XMGFMBase改下命名 XMGFMBase2
  • cd 本地仓库
  • pod lib create XMGFMBase //创建一个模板库
  • 从cocoapod克隆了一个pod的模板库
  • 选择
    • iOS项目
    • Objc语言
    • 需要一个测试demo
    • 测试框架 暂时None
    • 测试View
    • 项目前缀
  • 创建了一个Example的测试工程我们需要的东西都填写好了
  • 拷贝XMGFMBase2文件里的自己的仓库代码替换ReplaceMe.m
  • cd Example
  • pod install