cocoapods-extension

主要做了两件事: 1. 扩充一些日常使用Pod命令 2. 引入souce、pod的dsl来实现快速切换源码开发的目的, 对壳工程无入侵.

Installation

$ gem install cocoapods-extension

Usage

开发环境的配置(壳工程中).
$ pod dev update # 升级本地(~/.cocoapods/extension)的template工程, 模版工程中包含: lib模版、source dsl、pod dsl模版.
$ pod dev init # 配置壳工程的开发环境, 在~/.cocoapods/extension/projects中保存用于切换环境的配置pod文件.
$ pod dev open # --proj打开壳工程开发环境pod dsl文件所在的目录, --wks打开整个开发环境source dsl所在目录.
$ pod dev create # 创建一个lib工程

# pod dsl 文件在运行`pod dev init`的时候生成, 查看内容用`pod dev open --proj`命令打开.

开发过程中, 运行`pod dev open --proj`打开目录中的pod文件添加需要需要切换源码开发声明.
pod 'Masonry'#, :share => true, share为true所有工程共享, 为false壳工程独立存储一份源码

添加git源声明, `pod dev open --wks`打开目录中的source文件中添加.
source 'https://github.com' do
    pod 'Masonry', :group => 'SnapKit'#, :git => 'Masonry.git'
end

运行pod install or update, 被声明的库会自动切换到 'Development Pods' 模式

xcode

$ pod xc open # 打开当前目录中的xcworkspace 或者 xcodeproj文件, 都不存在的时候打开Xcode.app
$ pod xc clean # 选择清理文件[Pods, Podfile.lock, DerivedData].
后续几个版本将添加 xc clean workspace缓存和xc build 生成二进制包.

~/.cocoapods/extension 目录结构
│── .template
├── projects
│   ├── Example@0
│   │   ├── .conf
│   │   ├── pod.rb
│   │   └── repos
│   │       ├── Foundation
│   │       │   └── Foundation.h
│   │       └── UIKit
│   │           └── UIKit.h
│   └── Example@1
│       ├── .conf
│       ├── pod.rb
│       └── repos
│           ├── Foundation
│           │   └── Foundation.h
│           └── UIKit
│               └── UIKit.h
├── repos
│   ├── Foundation
│   │   └── Foundation.h
│   └── UIKit
│       └── UIKit.h
└── source.rb

通过模板生成lib的目录结构

├── Demo.podspec
├── Demo.xcodeproj
├── Demo.xcworkspace
├── Examples
├── LICENSE
├── Package.swift
├── Podfile
├── README.md
├── Resources
├── Sources
│   ├── Demo.h
│   └── Demo.modulemap
└── Tests
    ├── Info.plist
    └── Tests.swift