制作 cocoapods 类库

原文:http://blog.csdn.net/top_roboo/article/details/51272415

cocoapods应该是时下类库比较全面的三方管理工具,使用也特别方便,你只需将别人的类库在你的 podfile中 pod "SomeoneNameLibrary" 就可以在你的工程中使用这个库,作为一个开发者,你是否也想让别人在他的项目中 pod "YourNameLibrary",so,if your answer is yes,continue.

使用cocoapods官方提供的模板创建工程

  • 打开终端,进入你要写代码的目录,输入一下命令

    pod lib create YourNameLibrary
  • 这时候你的终端会出现几个问题

     What language do you want to use?? [ Swift / ObjC ]
     >Swift // 根据你自己使用的语言来输入,注意大小写
      Would you like to include a demo application with your library? [ Yes / No ]
     >Yes   // 你是不是要添加一个demo在你的工程里面,也根据你自己来选,带上会比较好
     Which testing frameworks will you use? [ Quick / None ]
     >None  // 个人认为这个测试框架没用,选None
     Would you like to do view based testing? [ Yes / No ]
     >No    // 依然 No
  • 到此,你已经向成功迈出了一大步,终端会自动执行 pod install 命令,接下来你或许你要等很久,因为 cocoapods 执行 pod install的时候,会自动检测repo是否有更新,你懂得。所以如果你没有这个耐心的话,果断control+Z

  • 进入你的目录,发现你的工程结构如下

    YourNameLibrary
        _Pods.xcodeproj
        Example
            Podfile
            Pods
            YourNameLibrary
            YourNameLibrary.xcodeproj
            Tests
        LICENSE
        YourNameLibrary
            Assets
            Classes
        YourNameLibrary.podspec
        README.md   

    如果之前执行 pod install的时候你按下了 control+Z,现在我们要补救一下,终端进入 Example 目录下

    cd YourNameLibrary/
    cd Example/
    pod install --no-repo-update    // 这句命令的意思是跳过更新repo 执行 install

    执行完成之后,在Example下会有一个 YourNameLibrary.xcworkspace 打开它,你会看到这样的画面

    这里写图片描述

    删除 ReplaceMe.swift 文件,把你给别人用的类库文件写在这个目录下面,示例代码写在 ViewController.swift 中,接下来的事情交给你了,编译完成之后,继续continue

    上传你的类库到 Github

    看到这个标题,千万不要冲动,因为pod是根据Github提供的tag去匹配的,所以如果你不会设置tag值,还是一步一步跟着来

  • 首先在你的Github主页上创建好仓库,并且和你的本地仓库关联,你可以借鉴一下的提交

    git add.
    git commit -m "Initial commit"
    git tag 0.1.0
    git push origin 0.1.0

验证你的 podspec文件

在我们的工程根目录下有这样一个文件 YourNameLibrary.podspec,这是你的类库许可文件,你的类库就是依据这个文件被别人从 Github 上导入到工程里面的,这里只做简单的介绍,如果想进一步了解,请到这里去看

  • 编写 podspec

    Pod::Spec.new do |s|
        s.name             = "YourNameLibrary"  #你的类库的名字,
        s.version          = "0.1.0"                    #版本号
        s.summary          = "你的类库的简介"      #简介
    
        s.description      = "你的类库的具体描述"    #这里要注意一点,描述和简介不能一样,而且描述要比简介长才可以通过验证
    
        s.homepage         = "https://github.com/<GITHUB_USERNAME>/YourNameLibrary" #你的github主页
        # s.screenshots     = "www.example.com/screenshots_1", "www.example.com/screenshots_2"  #这里是截屏文件地址
        s.license          = 'MIT'  #许可协议类型,一般就用MIT
        s.author           = { "作者的名字" => "作者的邮箱" }
        s.source           = { :git => "https://github.com/<GITHUB_USERNAME>/YourNameLibrary.git", :tag => s.version.to_s } 
        # s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'
    
        s.ios.deployment_target = '8.0'     #你的类库支持的 iOS版本
    
        s.source_files = 'YourNameLibrary/Classes/**/*'
        s.resource_bundles = {
    'YourNameLibrary' => ['YourNameLibrary/Assets/*.png']
    }
    
        # s.public_header_files = 'Pod/Classes/**/*.h'
        # s.frameworks = 'UIKit', 'MapKit'          #这是你的类库依赖的框架,一般的项目里都会导入UIKit等常用框架,所以这里不用导入
        # s.dependency 'AFNetworking', '~> 2.3'        #这是你的类库依赖的三方库,如果需要,请写在这里
    end
  • 验证 podspec 文件,终端进入到你的 podspec 目录下,执行这一条命令

    pod lib lint YourNameLibrary.podspec

    如果验证通过了会出现这个,你就可以继续下一步,如果没通过,你要排查错误,知道通过为止

关联cocoapods到你的类库

如果你已经走到这里,告诉我你有一点小激动,此时我要是多说些废话,或者没有下文。。。
好的我们continue

  • 如果你没有注册过cocoapods,请自觉先去注册,注册完成之后,执行下面这条命令

    pod trunk push YourNameLibrary.podspec
  • 如果出现终端输出

    Validating podspec
     -> YourNameLibrary (0.1.0)

恭喜你,That`s all. Thank you. 你可以去意淫了

更多前往: http://blog.csdn.net/top_roboo?viewmode=list

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值