• cocoapods私有库创建


    前言:距离上一篇cocoapods公有库创建已经有了5个多月了,当初说好下一篇讲私有库创建也是拖到了现在,实在是懒癌又犯了。最近因为项目到了一定的阶段,需要部分重构就想到了,补上一篇未完成的文章,谁出去的牛还是要还的。。。

    步骤:

    一:创建一个私有的Spec repo
    1.在github,gitlab,oschina上创建一个repo用来管理私有库的sepc文件(这里我选择了oschina平台,项目文件夹取名:FSSpces)
        
    2.添加自己管理.podspec文件的仓库
          pod repo add FSSpechttps:gitee.com/xxxx/FSSpces.git
     (FSSpces是你创建的项目名, https:gitee.com/xxxx/FSSpces.git 是你的项目地址)
    3.检查./cocoapods/repos 文件夹下是否有REPO_NAME文件夹
       

      master是pod默认的一个仓库,用来管理公开的开源库。

      FSSpecs就是我们自己刚刚创建的一个仓库克隆到本地了,这个仓库的作用就是管理我们需要的 .podspec文件了,后面我们会讲到。

    二:制作CocoaPod依赖库
    1.在oschina上创建自己的仓库(这里我命名为test)
      与第一步种的第1小步一样, 需要注意打了标记的地方
    2.克隆到本地
    3.在本地仓库中添加创建pods依赖库需要的类文件在本地仓库中创建.podspec文件(如果已经有了可以直接复制过来
      
      pod spec create test 
      这里需要注意的是,需要将所有的文件都放在Person文件夹下或者Person文件夹的子文件夹下。 这个文件夹包含了我们整个私有库需要的文件。     
    4.验证.podspec文件
      pod lib lint 
      此时你会有非常多的警告和错误,根据提示修改.podspec文件直到没有错误。
       相关参数有:
      
    s.name             = "PodTestLibrary"    #名称
      s.version          = "0.1.0"             #版本号
      s.summary          = "Just Testing."     #简短介绍,下面是详细介绍
      s.description      = <<-DESC
                           Testing Private Podspec.
     
                           * Markdown format.
                           * Don't worry about the indent, we strip it!
                           DESC
      s.homepage         = "https://gitee.com/MakeKeyReuse/FSBase"                           #主页,这里要填写可以访问到的地址,不然验证不通过
      # s.screenshots     = "", ""           #截图
      s.license          = 'MIT'              #开源协议
      s.author           = { "" => "" }                   #作者信息
      s.source           = { :git => "https://gitee.com/MakeKeyReuse/FSBase", :tag =>s.version } #项目地址,这里不支持ssh的地址,验证不通过,只支持HTTP和HTTPS,最好使用HTTPS 
    # s.social_media_url = 'https://twitter.com/<twitter_username>' 
    #多媒体介绍地址 s.platform
    = :ios, '7.0' #支持的平台及版本
    s.requires_arc
    = true #是否使用ARC,如果指定具体文件,则具体的问题使用ARC
    s.source_files
    = 'Pod/Classes/**/*' #代码源文件地址,**/*表示Classes目录及其子目录下所有文件,如果有多个目录下则用逗号分开,如果需要在项目中分组显示,这里也要做相应的设置
    s.resource_bundles = { 'PodTestLibrary' => ['Pod/Assets/*.png'] } #资源文件地址
    s.public_header_files = 'Pod/Classes/*
    */*.h' #公开头文件地址
    s.frameworks = 'UIKit' #所需的framework,多个用逗号隔开
    s.dependency
    'AFNetworking', '~> 2.3' #依赖关系,该项目所依赖的其他库,如果有多个需要填写多个s.dependency
    5.后提交到远程仓库
      git add -A  
      git commit -m “添加pod所需文件”
      git push origin master
      检查远程仓库的内容
    三:添加.podspec文件到自己的repo
      1.pod repo push FSSpecs test.podspec 
      2.检查./cocoapods/repos 文件夹的变化
      3.检查自己repo远程仓库的内容
       
     
      
      此时会有错误信息:test没有tag,这里自己去打一下tag然后在提交,确定test项目是干净的在试。

      

    四:测试
    1.新建一个项目,初始化pod
    2.在Podfile最上面添加下面两行
      source 'https://github.com/CocoaPods/Specs.git'        #官方仓库地址

      source 'https://gitee.com/xxxxxx/FSSpecs.git'        #私有仓库地址

      这是因为使用pod默认是使用官方来源的,想要更改成自己的需要添加私有仓库的地址,但是只添加使用私有仓库的地址,就会让master管理的用不了,所以两个都要添加上。

    3.导入pod ‘test’

    4.pod init

     五:遇到的相关坑

    1.The repo `FSSpecs` at `../.cocoapods/repos/FXSpecs` is not clean:cd到repo的相关项目中

      git status 检查一下是否有未提交的东西,如果有就commit后push一下,如果没有就git clean -f 后push一下。

    2.当有依赖的时候经常会报错,配合试用一下命令

      --allow-warnings  :忽略警告

      --use-libraries :验证lib

      --verbose:查看详情

      --no-clean:清理

    完!!!

  • 相关阅读:
    语言特性-上下文对象
    语言特性-闭包
    语言特性-变量作用域
    语言特性-函数重载与类型检查
    面向对象的JS代码
    单例模式
    wait操作接口
    进程的创建模型
    模拟密码登陆过程
    目录操作的一些函数理解
  • 原文地址:https://www.cnblogs.com/fusheng-it/p/7772986.html
Copyright © 2020-2023  润新知