离久的小站

创建CocoaPods私有库

2018/06/11 Share

在网上看过不少关于创建私有库的博客,但大多都是互相抄袭,而且坑非常的多。最近因公司要求,要做一个公司的Pod仓库,所以有了一点点心得。

例子中用到git命令行,如果有小白不知道git命令行怎么使用,请先百度git的使用。

以下我会用github的为例子进行讲解。由于github的私人仓库要付费,这里我选择public。如果你是coding、码云等,你可以选择private,毕竟是私有库嘛。

首先我们先在自己的github上创建一个我们的Pod仓库。仓库名字为MyPod。

接下来我们在终端执行:

1
pod repo add MyPod https://github.com/AshBass/MyPod.git

执行完这个命令行后,在我们的目录

1
~/.cocoapods/repos

可以看见我们除了master仓库外,还有我们自己的MyPod仓库。

接下来我们要创建我们写好的代码所要存放的远程仓库。我取名为MyFirstKit。

!!!这里我们要注意了,我们要在创建仓库时选择创建README、选择创建MIT证书(这一点很重要,没有的话进行不下去)

创建完后,我们git clone工程下来,工程目录如下图:

我们把写好的代码放进去:

然后我们需要创建一个podspec文件,才能把这份代码添加到仓库里面。执行以下语句:

1
pod spec create MyFirstKit

这样的话,我们的工程目录就会多了一个后缀名为.podspec的文件。

在这里,我们先为我们这份代码创建一个tag,作为这份代码的版本号。依顺序执行一下命令:

1
2
3
4
git tag -a 1.0.0 -m "创建1.0.0版本"
git add .
git commit -m "上传备注"
git push origin master 1.0.0

执行完后,如无意外,你会得到如下成功提示:

我们看回我们的代码仓库。查看我们的commit记录。

然后我们点击我们最新commit的id,这里我自己是”23db123c65907c6d3f953de9a7fe26a1cafebadf”

我们回去文件夹打开我们的.podspec文件,把下面的内容替换其原本的内容。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

Pod::Spec.new do |s|
s.name = "MyFirstKit" # 项目名称
s.version = "1.0.0" # 版本号 与 你仓库的 标签号 对应
s.license = { :type => "MIT", :file => "LICENSE" } # 开源证书
s.summary = "私人pod代码" # 项目简介

s.homepage = "https://github.com/AshBass/MyFirstKit" # 仓库的主页
s.source = { :git => "https://github.com/AshBass/MyFirstKit.git", :commit => "23db123c65907c6d3f953de9a7fe26a1cafebadf" , :tag => "#{s.version}" }#你的仓库地址,不能用SSH地址
s.source_files = "MyFirstKit/*.{h,m}" # 你代码的位置, MyFirstKit/*.{h,m} 表示 MyFirstKit 文件夹下所有的.h和.m文件
s.requires_arc = true # 是否启用ARC
s.platform = :ios, "7.0" #平台及支持的最低版本
# s.frameworks = "UIKit", "Foundation" #支持的框架
# s.dependency = "AFNetworking" # 依赖库

# User
s.author = { "BY" => "ashbass@163.com" } # 作者信息
s.social_media_url = "http://ashbass.github.io" # 个人主页

end

!!!这里要注意了,里面的个人信息都要改为你自己的个人信息。不然的话接下来的操作都会失败。

我们检查以下自己的.podspec文件有没有书写错误。

1
pod spec lint --allow-warnings

没有错误[ERROR]将会得到下图内容:

最后我们将这份代码提交到我们的私人Pod仓库里面。

1
pod repo push MyPod MyFirstKit.podspec --allow-warnings

如果终端没有出现红字[ERROR]错误,那么恭喜你,你已经成功把你的代码上传到个人仓库了!!!

以后我们书写Podfile时,再开头引入公有仓库CocoaPods地址和你自己的私有仓库MyPod地址,你就可以如常的使用。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

source 'https://github.com/CocoaPods/Specs.git' #公有仓库CocoaPods地址
source 'https://github.com/AshBass/MyPod.git' #私有仓库MyPod地址

# Uncomment the next line to define a global platform for your project
platform :ios, '9.0'

target 'ParadoxStudio' do
# Uncomment the next line if you're using Swift or would like to use dynamic frameworks
use_frameworks!

# Pods for ParadoxStudio
pod 'CocoaAsyncSocket' #公有库
pod 'MyFirstKit' #私有库

end

———————– 华丽的分割线 ———————–

如果我们想移除自己创建的私有Pod仓库,执行以下命令行即可:

1
pod repo remove MyPod
CATALOG