Fork me on GitHub

Cocoapods 的简单使用

之前做项目时,基本没有使用过 cocoapods,因为听道上的人说,使用 cocoapods 好麻烦,有时候出现一下坑的事情都不知道怎么弄,好坑的说,但是由于项目慢慢的迭代,导致使用的 第三方越来越多,而且还牵涉到 第三方库的版本问题,瞬间感觉好麻烦,还是玩玩 cocoapods 吧,本文主要讲述 cocoapods的使用 以初始化项目的一些注意点。

前提在已经安装好 cocoapods 的情况下

使用 Cocoapods

初步使用pod

1、使用 Xcode 创建一个名为: myCocoapods 的项目

2、创建 .gitignore 文件 touch .gitignore,配置好我们平常需要忽略的相关文件,打开 Pods/ 可以参考github官方之gitignore

3、cd 到刚才的项目

4、pod init

如果是升级 Xcode8 后,可能执行 pod init
后没有任何反应或者其他错误
查找资料得:
执行 sudo gem install -n /usr/local/bin cocoapods --pre
后可正常使用
参考自

5、pod update

6、在 Podfile 中添加相应的第三方

最简单的版本选择:参考

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#  取最新版本
pod 'MJRefresh',

# 取3.1.12
pod 'MJRefresh', ‘3.1.12'

# [3.1.12 ...]
pod 'MJRefresh', ‘>=3.1.12'

# (3.1.12 ...]
pod 'MJRefresh', ‘>3.1.12'

# [0.0.0 3.1.12]
pod 'MJRefresh', ‘<=3.1.12'

# [0.0.0 3.1.12)
pod 'MJRefresh', ‘<3.1.12'

# [3.1.12 3.2.0)
pod 'MJRefresh', ‘~>3.1.12'

7、 在 pod update 或者 pod update --verbose --no-repo-update

8、把项目 push 到仓库

9、项目的初始化基本OK,另一个开发到来以后直接去 git 仓库 clone 项目下来

10、然后 pod update 或者 pod update --verbose --no-repo-update 一下即可正常使用了

11、项目结构如下:

Demo链接

pod的一些命令

列出所有本地已经缓存的第三方库

1
pod cache list

输出如下

1
2
3
4
5
6
7
iCarousel:
- Version: 1.8.2
Type: Release
Spec: /Users/vivi/Library/Caches/CocoaPods/Pods/Specs/Release/iCarousel/1.8.podspec.json
Pod: /Users/vivi/Library/Caches/CocoaPods/Pods/Release/iCarousel/1.8.2-67c8a
libextobjc:
...

清除指定缓存

1
pod cache clean libName

清除全部缓存

1
pod cache clean all

让自己的代码使用 cocoapods 管理

1、在github创建项目

2、初始化好项目

3、clone 项目下来

4、到项目root目录下, 创建 spec 文件
cd 项目
pod spec create 名称

5、编辑 spec 文件 (MJRefresh的spec文件是这样写的,里面具体的含义以后补充,或者 自行Google

1
2
3
4
5
6
7
8
9
10
11
12
13
Pod::Spec.new do |s|
s.name = 'MJRefresh'
s.version = '3.1.12'
s.summary = 'An easy way to use pull-to-refresh'
s.homepage = 'https://github.com/CoderMJLee/MJRefresh'
s.license = 'MIT'
s.authors = {'MJ Lee' => '199109106@qq.com'}
s.platform = :ios, '6.0'
s.source = {:git => 'https://github.com/CoderMJLee/MJRefresh.git', :tag => s.version}
s.source_files = 'MJRefresh/**/*.{h,m}'
s.resource = 'MJRefresh/MJRefresh.bundle'
s.requires_arc = true
end

6、新建 tag 且提交项目

git add .

git commit -m '0.01'

git tag 0.0.1

git push --tags

git push origin master

7、验证一下 podspec 文件

pod lib lint

8、如果是第一次提交需验证一下,不是第一次可以不用此步

pod trunk register ios@idhong.com 'idhong' --description=‘一些描述’

此时需要登录邮箱验证一下身份,看提示即可

9、提交给 cocoapods 管理

pod trunk push IHExtension.podspec --allow-warnings

10、如果成功,可能需要等几分钟才可以 search 到你的 lib, 可去cocoapods查看

11、提交好了以后如果还是无法搜索到自己的项目,可以尝试:

1
2
3
pod setup

rm ~/Library/Caches/CocoaPods/search_index.json

12、继续

1
pod search XXX

13、如果想多人维护一个库(需先让指定的邮箱注册)

pod trunk add-owner IHExtension xxx@xxx.com

14、查看自己的信息

pod trunk me

Demo链接

公司公共模块使用 cocoapods 管理

pod 的配置文件放在cocoapods官网 配置里的指向github

上面的方式

pod 的配置文件放在cocoapods官网 配置里的指向内网

外面可以搜到到,但是无法下载,需要打tag

1、如果公司的项目较多,那么许多公共模块,一些工具类如果使用 pod 管理起来就更加方便了。

2、一个方法的只需要把上面配置文件;
s.homepage s.source 指向自己的内网就👌,虽然把 pod 的配置文件push 到了cocoapods 官网,但是别人其实无法查看其中的任何内容。

使用和配置都比较简单,但是外面的人会搜到你的模块,只是无法下载

配置文件 使用电脑路径的方式

使用还比较简单,而且不需要打 tag,比较适合公共模块在开发阶段,push就可以了

pod ‘iOS-Echarts’, :path => ‘../iOS-Echarts’
路径为 podspec 在本电脑的的路径,可以把自己的私有第三方放在内网上,然后下载到本地方的一定路径,可以放到 ~/ 的路径那么全部成员的电脑都可以正常使用了,可以自由发挥,但是保证配置完全正确

使用 私有 repo 管理配置文件的方式

操作比较复杂,需要打 tag,适合于公共模块已经比较稳定的情况

思路为自己创建私有的spect来管理内部的 lib 的配置文件,就和其他公共第三方放到 cocoapods 官网一样

  • 需要创建一个私有的管理 第三方的配置的 库
  • 创建一个自己的库让私有仓库管理
  • 创建好上面的2个库
  • 添加进去 pod repo add spect的名称 spect的git地址
  • 验证一下 pod spec lint IHKit.podspec --sources='https://github.com/liangdahong/IHKit.git, https://github.com/CocoaPods/Specs.git' --allow-warnings
  • push到自己的私有仓库进行管理 pod repo push 'IHCocoapods' IHKit.podspec --allow-warnings
    push 时需要在全部配置好的情况下,配置文件填写完整,tag配置ok

完成后就可以正常使用了
Podfile 声明一下

1
2
3
4
# 官方库
source 'https://github.com/CocoaPods/Specs.git'
# 私有库
source 'https://github.com/liangdahong/IHCocoapods.git'
  • 想删除一个库,可以用 pod repo remove WTSpecs
  • 如果想删除一个库的一个版本 可以直接到文件夹下删除指定的文件夹 在 push 到 git 就好了

其他人使用时,pod repo add spect的名称 spect的git地址 添加到目录下,以后用更新只需要
cd ~/.cocoapods/repos 到指定的目录下 pull 就OK

利用 appledoc 生成 API 文档

  • 克隆项目 git clone https://github.com/tomaz/appledoc.git

  • 到目录下 cd appledoc

  • 安装 sudo sh install-appledoc.sh

  • 查看版本情况 appledoc --version

  • 生成文档 appledoc --no-create-docset --output 生成的文档保存的路径 --project-name "你的项目名称" --company-id "com.idhong" --project-company "公司名称" 需要生成文档的项目

参考1
参考2

- END -
扫一扫上面的二维码图案,加我微信

文章作者:梁大红

特别声明:若无特殊声明均为原创,转载请注明,侵权请联系

版权声明:署名-非商业性使用-禁止演绎 4.0 国际