iOS:如何将自己的SDK用CocoaPods管理

条件:       

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

步骤:

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

    然后,在有账号之后:

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

       iOS:如何将自己的SDK用CocoaPods管理

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

     iOS:如何将自己的SDK用CocoaPods管理

   需要对 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文件对照进行配置。

    例如如下配图设置:

    iOS:如何将自己的SDK用CocoaPods管理
  这些名词解释如下:

    iOS:如何将自己的SDK用CocoaPods管理

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

    iOS:如何将自己的SDK用CocoaPods管理

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

    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 如图

  iOS:如何将自己的SDK用CocoaPods管理

    再输入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

程序猿神奇的手,每时每刻,这双手都在改变着世界的交互方式!
本文转自当天真遇到现实博客园博客,原文链接:http://www.cnblogs.com/XYQ-208910/p/5842421.html,如需转载请自行联系原作者
上一篇:入选最受关注AI公司的Kitt.AI:多轮对话聊天机器人开发也可以很简单


下一篇:Linux裸设备管理详解(原创)