下拉svn库(自定义库或者第三方库)到工程中:
 
1、 若未安装,请安装cocoapods:    http://www.cnblogs.com/sunjianfei/p/6089231.html
 
2、  终端中,cd到项目总目录(注意:包含PodTest文件夹、PodTest.xcodeproj、PodTestTest的那个总目录)
 
3 、 建立Podfile(配置文件)
        接着上一步,终端输入
vim Podfile
 
            编辑:
platform :ios, '8.0'
#use_frameworks!个别需要用到它,比如reactiveCocoa
 
target 'TestPodDemo' do
  pod 'AFNetworking', '~> 2.6'
end
 
d control + c 保存退出
 
 
库托管到svn:
 
1、用终端命令cd到本地项目目录并执行如下命令:
$ pod spec create 名称
    这时候本地就生成一个iOS_Category.podspec文件
2、用编辑器打开.podspec文件 (我自己用Sublime Text)
配置文件如下(包含解释):
 
Pod::Spec.new do |s|
  s.name         = "JYLivenessDetector"
  s.version      = "1.0.1"
  s.summary      = "活体检测和OCR"
  s.description  = <<-DESC
          通过依图sdk,调用活体检测和OCR识别身份证
                   DESC
 
  s.homepage     = "http://EXAMPLE/JYLivenessDetector"
  s.license      = "MIT"
  s.author       = { "liyaoyao903" => "535814116@qq.com" }
  s.platform     = :ios, "8.0"
  s.source       = { :svn => "svn://121.41.20.231/boccfc-mobile/branch/ios/commonLib/livenessDetector", :tag => s.version }
 
#类文件和md文件
  s.source_files  = "JYLivenessDetector/*.{h,m,md}"
 
#头文件
  s.public_header_files = [
        "JYLivenessDetector/*.{h}",
        "JYLivenessDetector/liveness/.*{h}",
        "JYLivenessDetector/ocr/*.{h}”]
#资源文件
  s.resources = [
        "JYLivenessDetector/LivenessDetectorLib/Resources/**/*.{*}",
        "JYLivenessDetector/LivenessDetectorLib/Base.lproj/*",
        "JYLivenessDetector/LivenessDetectorLib/DataPlist/**/*.{plist}",
        "JYLivenessDetector/LivenessDetectorLib/LivenessDetectionCombineSDK/oliveapp_combine_model_2.bundle"
      ]
 
#库添加
  s.frameworks = "AVFoundation","AssetsLibrary"
  s.requires_arc = true
  s.compiler_flags  = "-lc++"
  s.vendored_libraries = ["JYLivenessDetector/LivenessDetectorLib/LivenessDetectionCombineSDK/*.{a}"]
    # s.vendored_frameworks = ["JYLocationManager/AMapFoundationKit.framework","JYLocationManager/AMapLocationKit.framework"]
 
 
#下拉这个库的时候有“liveness”这个文件夹,里面的文件是JYLivenessDetector/liveness/*.{h,m}
  s.subspec 'Liveness' do |ss|
    ss.source_files = "JYLivenessDetector/liveness/*.{h,m}"
  end
 
#下拉这个库的时候有“OCR”这个文件夹,里面的文件是JYLivenessDetector/ocr/*.{h,m}
  s.subspec 'OCR' do |ss|
    ss.source_files = "JYLivenessDetector/ocr/*.{h,m}"
  end
 
#下拉这个库的时候有“LivenessDetectorLib”这个文件夹,里面的文件如下
  s.subspec 'LivenessDetectorLib' do |ss|
    ss.source_files = [
        "JYLivenessDetector/LivenessDetectorLib/UIComponents/**/*.{h,m}",
        "JYLivenessDetector/LivenessDetectorLib/ViewController/**/*.{h,m}"
    ]
 
#从 ss.source_files 中把“GifView”文件夹下的类排除掉
    non_arc_files = "JYLivenessDetector/LivenessDetectorLib/UIComponents/GifView/*.{h,m}"
    ss.exclude_files = non_arc_files
 
#创建“GifView”这个文件夹,同时设置非arc类
    ss.subspec 'GifView' do |sss|
      sss.requires_arc = false
      sss.source_files = non_arc_files
    end
#创建“LivenessDetectionCombineSDK”这个文件夹,内部的文件是sdk的头文件
    ss.subspec 'LivenessDetectionCombineSDK' do |sss|
      sss.source_files = sdk_h_header_files = "JYLivenessDetector/LivenessDetectorLib/LivenessDetectionCombineSDK/Headers/*.{h}"
    end
 
  end
 
end
 
3、执行如下命令 查看是否编译通过
pod lib lint FJObject.podspec
如果有警告可以忽略 并使用如下命令执行
pod lib lint FJObject.podspec —allow-warnings
 
4、编译通过时提交代码。
 
库托管到github:
 
1、将自己的SDK工程拷到之前clone到本地的存储库中。
2、创建pod 账号
        发布到cocoapods上你需要有一个pod 的账号,如果没有账号的话需要先注册一下:
pod trunk register jianfeisun_v@163.com  ’n1sunjianfei'
        可以使用pod trunk me 来查看自己的账号信息,
 
 
3、cd 到项目根目录,然后创建podspec文件
pod spec create SingleSign-Cornerradius-lineBorder
 
4、编辑podspec文件
因为新建的podspec是一个包含所有需要填写信息的文件,其中有很多东西是不需要填就可以的,可以直接copy别人的podspec文件,然后将需要改动的地方作出相应的改动即可。
Pod::Spec.new do |s|
s.name         = "SingleSign-Cornerradius-lineBorder"    #存储库名称
s.version      = "1.0.0"      #版本号,与tag值一致
s.summary      = "a repository demo"  #简介
s.description  = "a repository demo"  #描述
s.homepage     = "https://github.com/n1sunjianfei/SingleSign-Cornerradius-lineBorder"      #项目主页,不是git地址
s.license      = { :type => "MIT", :file => "LICENSE" }   #开源协议
s.author             = { "n1sunjianfei" => "jianfeisun_v@163.com" }  #作者
s.platform     = :ios, "8.0"                  #支持的平台和版本号
s.source       = { :git => "https://github.com/n1sunjianfei/SingleSign-Cornerradius-lineBorder.git", :tag => s.version }         #存储库的git地址,以及tag值
s.source_files  =  "SingleSign-Cornerradius-lineBorder/*.{h,m}" #需要托管的源代码路径
s.requires_arc = true #是否支持ARC
#s.dependency "Masonry", "~> 1.0.0"    #所依赖的第三方库,没有就不用写
 
end
 
 
5、执行如下命令 查看是否编译通过
pod lib lint FJObject.podspec
如果有警告可以忽略 并使用如下命令执行
pod lib lint FJObject.podspec —allow-warnings
 
 

6、构建新 release 版本

注意: 这里的Tag verson 一定要和上面设置的s.version以及 s.source 中的 tag保持一致.
  点击Public release 即可完成
 
 

7、上传代码

pod trunk push FJObject.podspe
等待一会会看到如下图所示
可以使用下面代码查找:
pod search LZTool
 
参考文档:

cocoapods使用-库托管到svn或者github的更多相关文章

  1. 从零开始创建CocoaPods私有库

    为什么要创建CocoaPods私有库? 避免重复的造轮子 节约时间,方便管理自己的代码 精益求精 创建CocoaPods私有库 1.创建私有仓库工程 执行命令pod lib create SmartB ...

  2. 创建/发布cocoapods公共库

    对于大多数iOS开发者而言,cocoapods都是一个非常便捷的第三方库引导工具,该工具可以帮助我们快速导入所需第三方库,并且进行相关配置. 本文即为描述如何发布一个第三方库,提供给所有的开发者使用. ...

  3. iOS:最详细的创建CocoaPods私有库教程

    一.感慨 说实话,创建这个CocoaPods私有库,我愣是搞了两个星期,创建的过程中,自己的感情波动是这样的:激情四射---->有点困惑----->极度困惑----->有点失望--- ...

  4. iOS之创建CocoaPods公有库教程

    简介 在开发过程中,经常会使用到第三框架,我们通过一个pod install命令,很方便的就将第三方框架加到我们自己的项目中. 如果我们也想将自己写的组件或库开源出去,让别人也可以通过pod inst ...

  5. 制作CocoaPods公有库和私有库

    认识公有库和私有库 公有库:开源自己封装的库供别人使用,且往cocoaPods的官方Repo仓库(即CocoaPods Master Repo)中新增自己库的索引,该库索引是以*.podspec.js ...

  6. 工程移除CocoaPods依赖库

    http://zanderzhang.gitcafe.io/2015/09/26/工程移除CocoaPods依赖库/ 点这里--->CocoaPods安装和使用教程 当我们工程安装很多第三方开源 ...

  7. eclipse下使用maven配置库托管jar包

    1.项目是通过maven配置库托管jar包 首先要保证maven配置库中有相应的jar包才能通过这个方法来添加jar包.maven的有点就是把要用到的jar包统一放在一个配置库中,在某个项目需要用到这 ...

  8. git 本地提交代码到 github 远程库,没有弹框 github login

     git 本地提交代码到 github 远程库,没有弹框 github login:  原因: win10 有个凭据管理器,给保存了历史登陆用户名密码,导致无法切换用户. 解决办法: 删除历史登陆用户 ...

  9. iOS - 解决 Cocoapods 第三方库下载不下来

    Cocoapods 第三方库下载不下来问题:一些第三方的库由于网的原因下载不下里 (解决思路:(原理) cocoapods 下载的时候 会先从缓存中拿 缓存中没有再去下载 所以可以把下载不下来的放到缓 ...

随机推荐

  1. 理解React组件的生命周期

    本文作者写作的时间较早,所以里面会出现很多的旧版ES5的时代的方法.不过,虽然如此并不影响读者理解组件的生命周期.反而是作者分为几种不同的触发机制来解释生命周期的各个方法,让读者更加容易理解涉及到的概 ...

  2. bzoj3514(主席树+lct)

    把边的编号看成边权,维护每个状态对应的最大生成树,得到一个数组a[i],表示第i条边在这个过程中替换的是那条边,询问时看一下a[l,r]内啊有多少个小于l的算一下答案就好:代码参考:http://bl ...

  3. OpenCV库框架结构

    在上文已经学习过了opencv的编码规则,为了能够方便灵活的运用OPECV库,我们需要对其框架结构进行学习了解,以方便我们进行实际工程调用调用. 1.Opnecv库到底提供了什么? 打开opencv源 ...

  4. 程序猿的日常——工作中常用的Shell脚本

    工作当中总是会有很多常用的linux或者命令,这里就做一个总结 文件远程拷贝 如果想把文件从本机拷贝到远程,或者从远程下载文件到本地. # 把本地的jar拷贝到远程机器xxxip的/home/sour ...

  5. Android精通:TableLayout布局,GridLayout网格布局,FrameLayout帧布局,AbsoluteLayout绝对布局,RelativeLayout相对布局

    在Android中提供了几个常用布局: LinearLayout线性布局 RelativeLayout相对布局 FrameLayout帧布局 AbsoluteLayout绝对布局 TableLayou ...

  6. javascript 内存模型

    我对于 JavaScript 的内存模型一直都比较困惑,很想了解在操作变量的时候,JS 是如何工作的.如果你和我有同样的困惑,希望这篇文章能给你一些启发. 译文,喜欢原文的可以直接拉到底部 当我们声明 ...

  7. GMM基础

    一.单成分单变量高斯模型 二.单成分多变量高斯模型 若协方差矩阵为对角矩阵且对角线上值相等,两变量高斯分布的等值线为圆形. 若协方差矩阵为对角矩阵且对角线上值不等,两变量高斯分布的等值线为椭圆形, 长 ...

  8. iOS开发总结——项目目录结构

    1.前言 清晰的项目目录结构有利于项目的开发,同时也是软件架构的一部分,所以,项目开发之初搭建项目的目录结构很重要.刚转iOS时,自己并不知道如何搭建App的项目目录,在参与开发两个应用后,结合Web ...

  9. java几种垃圾收集方法和垃圾收集器

    标记清除法: 分为两个阶段,标记----清除 标记阶段将所有需要回收的对象做标记,然后在清除阶段将所有的标记对象回收 但是这种回收方法有很大的缺点,那就是这两个过程的的效率并不高,两个过程都是效率很低 ...

  10. spring cloud+.net core搭建微服务架构:服务发现(二)

    前言 上篇文章实际上只讲了服务治理中的服务注册,服务与服务之间如何调用呢?传统的方式,服务A调用服务B,那么服务A访问的是服务B的负载均衡地址,通过负载均衡来指向到服务B的真实地址,上篇文章已经说了这 ...