IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    如何写podspec贡献自己的代码到cocoapods

    王亚庆发表于 2014-01-06 19:27:37
    love 0

    什么是cocoapods?

    做iOS开发需要用到很多三方,才开始可能很多人和我才开始一样,手动添加三方,费事费力。用了cocoapods之后,一切都变得so easy。如果还没用的同学请参考这篇大牛的介绍文章。今天我要讲的是另外一个主题。

    贡献代码到cocoapods

    cocoapods是托管在github上的一个开源项目,要想为它做贡献,首先你要会使用git,所以如果还不会的话,请先自学下吧。

    所有的spec都在这里,你首先要做的是需要Fork这个仓库,然后你就拥有了一个仓库的副本,这个时候在自己的dashboard就就可以看到多了一个repo,接下来以我自己为例子把repo克隆下来。

    git clone https://github.com/billwang1990/Specs.git
    

    克隆好了之后,就可以向里面添加自己的代码来,首先创建了一个文件夹。

    cd Specs/
    mkdir yourDirName
    cd yourDirName
    

    这个时候先暂停下,对你要贡献的代码打个tag

    git tag 0.0.1
    

    然后,把tag推到你的项目的远程服务器端。

    git push --tags
    

    接下来再回到之前在spec里创建的那个文件夹(yourDirName)中 再创建一个文件夹,并且生成一个spec文件

    mkdir 0.0.1
    cd 0.0.1
    pod spec create yourSpecFileName
    

    这个时候你应该可以看到你的0.0.1文件夹多了一个yourSpecFileName.podspec文件,打开这个文件进行编辑吧。下面的就是我的podspec文件:

    Pod::Spec.new do |s|
         s.name         = "YQUpdateHelper"
         s.version      = "0.1.0"
         s.summary      = "YQUpdateHelper is an iOS toolkit, it can notify user if there is an new version of your app in app store."
         s.homepage     = "https://github.com/billwang1990/YQUpdateNotification"
         s.screenshots  = "https://github.com/billwang1990/YQUpdateNotification/blob/master/screenshot.PNG"
         s.license      = 'MIT (LICENSE)'
         s.author       = { "billwang1990" => "billwang1990@gmail.com" }
         s.platform     = :ios, '6.0'
          s.source       = { :git => "https://github.com/billwang1990/YQUpdateNotification.git", :tag => "0.1.0" }
           s.source_files  = 'YQUpdateHelper', 'YQUpdateHelper/*.{h,m}'
          s.resource  = "YQUpdateHelper/YQUpdateHelper.bundle"
         s.framework  = 'Foundation'
         s.requires_arc = true
    end
    

    OK,写完了保存,还没完事,你需要执行 pod spec lint yourSpecFileName.podspec检查一下你的文件内容是否写对了。

    完事之后,你把仓库push到自己的远端,然后 send pull request,等待cocoapods团队merge了之后,你使用pod search就应该能找到你的代码了。



沪ICP备19023445号-2号
友情链接