zoukankan      html  css  js  c++  java
  • iOS:如何将自己的SDK用CocoaPods管理

    条件:       

        需要在终端上将工程发布到cocoapods上,这样才能用cocoapods进行管理。

    步骤:

      首先,你得有一个pod的账号 在终端中输入pod 可以查看关于pod 的命令帮助,输入pod trunk me 可以查看自己的账号信息,如果没有的话先注册一个。输入pod trunk register然后根据提示注册一个即可。

        然后,在有账号之后:

      cd 到工程目录下,以工程名创建一个.podspec文件 例如:
      cd Demo ---> pod spec create Demo
      这样就会在工程中出现这样一个文件

           

      接着vi Demo.podspec 进入文件中进行配置,下面这些具体的格式如何写,可以查看整File Pattern: http://guides.cocoapods.org/syntax/podspec.html#source_files

         

       需要对 s.summary 写入对工程的总结
      然后s.description 可以写工程的描述,也可以直接用#来注释掉。
      s.homepage 写上之前在GitHub上创建的工程的网址,如:https://github.com/xiaowu2016/Demo
      s.license我选择的是下面一个,并把上面的注释掉,将file => "FILE_LICENSE" 改成file => "LICENSE" 。
      s.source 写上工程的地址,如:https://github.com/xiaowu2016/Demo.git
       其他根据自己实际需求进行配置,如果工程中有依赖其他第三方库也要一并写上.有不明白的地方可以上GitHub上看看别人的.podspec文件对照进行配置。

        例如如下配图设置:

        
      这些名词解释如下:

        

        对了,配置费ARC文件的情况,项目中由于历史原因,导致有一个私有的pods库中某几个文件是在非ARC时代写的,如果要进行修改工程量浩大,于是乎要对这几个文件单独处理,这几个文件不使用arc其他文件使用arc,网上查了一些资料,只需要对source_file进行修改并排除那几个不使用ARC的文件就可以了,大致修改如下:

        

        配置完成之后保存并退出,然后在终端上输入

        git add 'Demo.podspec' ( 也可以直接输 git add

      然后 git commit -m 'add Demo.podspec' 添加到git上

      再用 git push同步到远程端

      再创建LICENSE文件

      vi LICENSE 直接去网上找一个复制过来,根据需要自己修改一下就能用。

      保存并退出

      git add 'LICENSE' (或者git add )

      git commit -m 'add LICENSE'

      git push

       然后需要创建工程的tag
      git tag '0.0.1'
      git add *
      git commit -m 'add tag'
      git push origin 0.0.1

      输完这些命令之后可以在GitHub的工程里看到创建的tag 如图

      

        再输入pod spec lint 来检测一下是否有错误或警告,有则改之,每次本地的工程中有改动并上传到GitHub上之后需要改变tag 否则就会找不到你所改动的,在改变了tag 之后需要将.podspec文件中的s.version和s.source 的tag 改成同样的值。

        当然出错时,最好需要只要知道错在哪儿,下面的操作可以帮助到你:

        在检测你的podspec时候,如果直接用pod spec lint xxx.podspec的话,出现错误它只会直接一句红色的话the spec did not pass validation,due to 1.告诉你的有多少个error和warning,而不会具体的指出你的错误出在哪里,这时候你可以在这句指令后面加上参数--verbose 这样就会告诉你具体的错误信息。这样根据它提示你的错误信息去解决就可以了。

       如果要查处具体错误,请使用 pod spec lint xxx.podspec --verbose

       如果 pod spec lint 的时候遇到警告了,请使用  pod trunk push --verbose --allow-warnings 

        如果没有错误的话,也即当看到*** pass validation,说明验证通过了,就可以发布了,输入pod trunk push ,这样之后的工程再需要你封装的类库就可以直接在podfile中进行添加例如:pod search 'Demo' 然后pod install就可以帮你导入了,非常方便

    下面是很有价值的干货:

    original Link:http://www.jianshu.com/p/7dd9bfe8ee69

    other Link_1: http://www.exiatian.com/cocoapods安装使用及配置私有库/

    other_link_2: http://blog.csdn.net/stubbornness1219/article/details/50968000

    other_link_3: http://www.cocoachina.com/ios/20160301/15459.html

    other_link_4: http://www.cocoachina.com/ios/20150228/11206.html

  • 相关阅读:
    什么叫“全力以赴”?
    Hibernate 异常 —— Unable to instantiate default tuplize
    也许用得着的英文短语(持续整理)
    也许用得着的英文句子(持续更新)
    iPhone(iOS设备) 无法更新或恢复时, 如何进入恢复模式
    poj 2778 DNA Sequence(AC自动机 + 矩阵快速幂)
    hdu 3974 线段树 将树弄到区间上
    hdu 2865 Polya计数+(矩阵 or 找规律 求C)
    Polya计数
    poj 2888 Magic Bracelet(Polya+矩阵快速幂)
  • 原文地址:https://www.cnblogs.com/XYQ-208910/p/5842421.html
Copyright © 2011-2022 走看看