iOS 本地私有库的搭建以及使用

一、阐述本地私有的工作流程

  • 1.1、在本地搭建git管理,创建本地的私有库,
  • 1.2、以及spec文件,用的时候直接路径导入
  • 1.3、本地私有库的使用
  • 1.4、 远程库(公有与私有)与本地库的区别

二、在本地搭建git管理,创建私有库

  • 2.1、在桌面创建一个存放私有库的文件夹 LocalPrivateLibrary

    本地私有库LocalPrivateLibrary

  • 2.2、在 LocalPrivateLibrary 文件夹里面创建一个JKWideHighSize 文件夹,并在里面创建一个 JKWideHighSize 的项目


    本地私有库文件夹里面创建私有库
  • 2.3、cd 进入私有库 JKWideHighSize

    cd /Users/wangchong/Desktop/LocalPrivateLibrary/JKWideHighSize
    
  • 2.4、创建git本地管理

    git init
    
创建git本地管理
  • 2.5、我在JKWideHighSize 项目里面有一个JKWideHighSize文件夹,里面存放的使我们到时候本地引用的文件夹


    本地引用的库文件夹
  • 2.6、把JKWideHighSize代码提交到本地库(可以不打tag)

    # (2.4图中的那个cd JKWideHighSize)
    cd JKWideHighSize   
    # 把代码添加到暂缓区
    git add .
    # 把暂缓区的代码提交到本地仓库
    git commit -m '提交内容说明'
    # 给版本打tag
    git tag '0.0.1'
    

三、创建spec文件,用的时候直接路径导入

  • 3.1、创建spec文件

    # (2.4图中的那个cd JKWideHighSize)
    cd /Users/wangchong/Desktop/LocalPrivateLibrary/JKWideHighSize
    # 创建spec文件
    pod spec create JKWideHighSize
    
创建spec文件
  • 3.2、修改spec文件,主要修改下面的几项

    • s.name(名字) = "JKWideHighSize"

      s.name         = "JKWideHighSize"
      
    • s.version(版本) = "0.0.1"

      s.version      = "0.0.1"
      
    • s.summary(简介) = "要比下面的详细描述短"

      s.summary      = "计算文本高度"
      
    • s.description(详细的描述) = "内容要比简介的内容长"

      s.description  = "一个很好用的计算文本高度的类"
      
    • s.homepage = "http://EXAMPLE/JKWideHighSize" (本地使用这个就不用管了)

      s.homepage     = "http://EXAMPLE/JKWideHighSize"
      
    • s.license = "MIT (example)" (协议直接写 MIT就好了)

      s.license      = "MIT"
      
    • s.author = { "JoanKingWC" => "JoanKingWC@163.com" } (随便写)

      s.author             = { "JoanKingWC" => "JoanKingWC@163.com" }
      
    • s.source = { :git => "http://EXAMPLE/JKWideHighSize.git", :tag => "#{s.version}" }如果是本地的库,直接把链接去掉就好了

      s.source       = { :git => "", :tag => "#{s.version}" }
      
    • s.source_files = "Classes", "Classes/*/.{h,m}" (这个很重要,我要给你们详细的描述一番)

      • (1)、Classes 就是要引用的本库文件夹,我这里是 JKWideHighSize


        Classes 就是要引用的本库文件夹,我这里是 JKWideHighSize
      • (2)、"Classes/*/.{h,m}" ,就是从spec文件开始找到上面 要引用的库文件夹 JKWideHighSize ,我这里如下

        "JKWideHighSize/JKWideHighSize/JKWideHighSize/*/.{h,m}" 
        
    Classes/**/*.{h,m}的写法
    • s.exclude_files = "Classes/Exclude" (直接注释掉就好了)

      # s.exclude_files = "Classes/Exclude"  
      

三、本地私有库的使用

  • 3.1、在上面咱们已经创建好了本地私有库以及spec文件,下面咱们在桌面创建一个项目 JKTest 来使用私有库JKWideHighSize

  • 3.2、给JKTest项目创建Podfile文件

    cd JKTest
    pod init 
    
  • 3.3、修改 Podfile 文件引入本地私有库

    platform :ios, '9.0'
    
    target 'JKTest' do
    
         use_frameworks!
         # JKWideHighSize 是本地私有库,也就是我们要引用的那个库文件夹,path后面的路径使我们我们以当前的Podfile为开始k路径找到 私有库JKWideHighSize的 spec 文件夹的路径
         pod 'JKWideHighSize', :path => '../LocalPrivateLibrary/JKWideHighSize'
    end
    
Podfile本地路径解释
  • 3.4、修改完上面的 pod install 一下,从下图可以看出成功的导入了本地的私有库

    修改完上面的 `pod install` 一下

四、 远程库(公有与私有)与本地库的区别

  • 4.1、本地私有库

    • 1、需要主动指明路径,如果调整路径,需要修改相关的配置
    • 2、版本升级不好维护
    • 3、不能团队共享
    • 4、本地私有库放在本地就可以,我放在了桌面
  • 4.2、 远程库(公有与私有)

    • 远程私有库可以将你的代码传到第三方托管平台进行公司内部开发人员共享,从而实现组件化开发模式,远程私有库可以放在第三方托管平台(如:github,码云,码市),github私有库收费,我放在了码云

远程私有库
远程公有库

推荐阅读更多精彩内容