美文网首页
Making CocoaPod

Making CocoaPod

作者: 月半的瘦子 | 来源:发表于2018-02-02 14:45 被阅读12次

    Making a CocoaPod

    创建自己的pod,需要Podfiles

    • podspec
    • LICENSE

    Development(使用)

    可以通过文件夹或者应用使用:path option

    pod 'Name', :path => '~/code/Pods/'

    Testing(测试pod)

    使用linting测试pod

    $ cd ~/code/Pods/NAME
    $ pod lib lint

    在将代码库开源前最好是将库放入xcode project进行测试
    第一种:

    pod 'NAME', :git => 'https://example.com/URL/to/repo/NAME.git'
    
    Then run
    
    pod install
    -- or --
    pod update
    
    

    第二种:

    如果你有一个单独的xcode project用于单元测试,可以使用podfile引入独立的工程podspec
    xcodeproj 'NAMETests'
    workspace '../NAME'
    
    pod 'NAME', :path => '../'
    

    Release(发布你的pod)

    release需要tag,流程如下

    $ cd ~/code/Pods/NAME
    $ edit NAME.podspec
    # set the new version to 0.0.1
    # set the new tag to 0.0.1
    $ pod lib lint
    
    $ git add -A && git commit -m "Release 0.0.1."
    $ git tag '0.0.1'
    $ git push --tags
    

    提交到开源库:
    tag push之后,可以使用命令pod trunk push NAME.podspec

    提交到私有库:
    tag push之后,可以使用命令pod trunk push [repo] NAME.podspec

    指定版本号:
    防止每次使用最新的版本,导致api不同

    当然也可以使用beta版

    CocoaDocs(关于注释文档)

    注释文档

    Using Pod Lib Create

    pod lib create MyLibrary
    也可以使用模板,模板参数--template-url=URL(URL是git repo包含一个兼容的模板)

    选择语言(OC/Swift)

    创建Demo app:模板会帮我们创建xcode project,无需自己创建。如果自己创建请使用pod try MyLib命令

    创建test framework:默认使用Specta/Expecta(此外还有Kiwi),swift使用Quick/Nimble

    view-base 测试: FBSnapShotTestCase

    创建后的结构

     MyLib
      ├── .travis.yml
      ├── _Pods.xcproject
      ├── Example
      │   ├── MyLib
      │   ├── MyLib.xcodeproj
      │   ├── MyLib.xcworkspace
      │   ├── Podfile
      │   ├── Podfile.lock
      │   ├── Pods
      │   └── Tests
      ├── LICENSE
      ├── MyLib.podspec
      ├── Pod
      │   ├── Assets
      │   └── Classes
      │     └── RemoveMe.[swift/m]
      └── README.md
    

    部署Liabrary

    • pod lib lint 不访问网络
    • pod spec lint 访问网络后去外部的repo+tag

    Getting setup with Trunk

    pod trunk [command] --help参考指定命令语法

    Getting started

    邮箱注册$ pod trunk register orta@cocoapods.org 'Orta Therox' --description='macbook air'

    部署Library

    pod trunk push [NAME.podspec]部署到公共库
    pod trunk push REPO [NAME.podspec]部署到私有库

    部署操作

    1. lints(pod spec lint [NAME.podspec])
    2. push(lints成功才可以push)

    添加其他人作为贡献者

    第一个push的人可以添加其他维护者
    $ pod trunk add-owner ARAnalytics(Library) kyle@cocoapods.org(邮箱)

    Private Pods

    创建自己的repo放在你自己的服务器上),需要确保你的team里的人可以访问这个repo

    添加私有库到CocoaPos repo

    $ pod repo add REPO_NAME SOURCE_URL
    这句话就是讲cocoapods repo加上你的repo并取名叫做REPO_NAME

    添加podspec

    $ pod repo push REPO_NAME SPEC_NAME.podspec

    可以结合Demo理解上面的操作

    Specs and the Specs Repo

    Specs Repo(github上的repository) 有很多pods,每个pod有多个specs(版本)

    Podfile 语法
    Podspec 语法

    相关文章

      网友评论

          本文标题:Making CocoaPod

          本文链接:https://www.haomeiwen.com/subject/cncezxtx.html