CocoaPods创建私有库步骤

CocoaPods创建私有库步骤

我就不介绍了,直接上手。 DuangDuangDuang

一、代码仓库的连接

1. 首先需要在私有服务器上创建两个库,仓库1用来存取代码文件(例如:AFNetworking/SDWebImage),仓库2用来存cocoapods工具的搜索配置文件(例如:AFNetworking.podspec)。

2. 拿到仓库1的地址之后, 需要在本地链接仓库1,实现方法,打开Xcode,点击Xcode,选择Preferences。

CocoaPods创建私有库步骤

3. 继续点击Accounts,点击添加按钮,选择Add Repository。

CocoaPods创建私有库步骤

CocoaPods创建私有库步骤

4.填写远程连接信息。

CocoaPods创建私有库步骤

5.点击Xcode,选择Source Control,选择刚才创建的链接,下载到自己想要放的位子,这样远程库已经下载到了本地。

二、创建代码

1. 首先在桌面创建一个临时项目文件(例如:CodingTemp), 打开终端,cd到临时文件夹,然后执行:

pod lib create 项目名

2. 之后他会问你四个问题,1.是否需要一个例子工程;2.选择一个测试框架;3.是否基于View测试;4.类的前缀;5.名称;6.邮箱等。多个问题的具体介绍可以去看官方文档,我这里选择的是1.yes;2.Specta/Expecta;3.yes;4.TT….。 问完这4个问题他会自动执行pod install命令创建项目并生成依赖。这时一个临时项目已经出现。在这个项目中,你可以测试你封装的工具类是否好用。

lichaodeMacBook-Air:未命名文件夹 5 tanjiaxiang$ pod lib create XiangMuMing
Cloning https://github.com/CocoaPods/pod-template.git into XiangMuMing.
Configuring XiangMuMing template.
! Before you can create a new library we need to setup your git credentials.
security: SecKeychainSearchCopyNext: The specified item could not be found in the keychain.

What is your name?

tanjiaxiang

! Setting your name in git to tanjiaxiang
git config user.name “tanjiaxiang”

What is your email?

[email protected]

! Setting your email in git to [email protected]
git config user.email “[email protected]


What language do you want to use?? [ Swift / ObjC ]

objc

Would you like to include a demo application with your library? [ Yes / No ]

yes

Which testing frameworks will you use? [ Specta / Kiwi / None ]

specta

Would you like to do view based testing? [ Yes / No ]

yes

What is your class prefix?

TT

3. 此刻你需要把临时项目装入本地仓库1文件夹内,这时会出现一个问题,你之前连接到仓库1的文件夹内会有一个.get文件,而你新建的临时项目中也会出现一个.get文件。

我的处理办法是直接删除临时项目中的.get文件,并将临时项目的所有子文件全部拷贝装入本地仓库1的文件夹。

CocoaPods创建私有库步骤

4.打开临时项目,将你的封装代码手动加载到Classes文件内

CocoaPods创建私有库步骤

这个地方我已经封装好,就不用测试了,直接CD到本地仓库1的Example文件夹执行pod update命令。

5. 接下来就是配置.podspec文件,再本地仓库1的文件夹内找到.podspec文件,打开编辑,此刻一般只需要修改s.summary,s.homepage,s.source,s.source_files,(summary是对封装代码的简要概括,homepage可以使服务器远程仓库地址,source这里我这是的和homepage一样,source_files是相对于项目的路径,就是你要分享的部分在项目的相对位置,其他的参数可以参考官网)

6. 编写玩完成之后保存设置,执行:pod lib lint,验证.podspec文件是否设置成功。

pod lib lint

如果失败,可以根据提示修改,成功则会出现这样的提示:

CocoaPods创建私有库步骤

三、将本地文件上传到远程仓库1

1. 执行以下命令(这个要注意tag要一致):

$ git add .

$ git commit -s -m “Initial Commit of Library”

添加远端仓库

$ git remote add origin 仓库1远程地址

提交到远端仓库

$ git push origin master

因为podspec文件中获取Git版本控制的项目还需要tag号,所以我们要打上一个tag,

$ git tag -m “first release” “0.1.0”

推送tag到远端仓库

$ git push –tags

2. 以上操作完成后,一定要到远程看看,你想推送文件是不是已经传送成功。不成功需要再次上传,改变tag。

四、podspec仓库实现

1. 创建私有Spec Repo

先来说第一步,什么是Spec Repo?它是所有的Pods的一个索引,就是一个容器,所有公开的Pods都在这个里面,它实际是一个Git仓库remote端在GitHub上,但是当你使用了Cocoapods后它会被clone到本地的~/.cocoapods/repos目录下,可以进入到这个目录看到master文件夹就是这个官方的Spec Repo了。这个master目录的结构是这个样子的

CocoaPods创建私有库步骤

在Terminal中执行如下命令:

$ pod repo add 仓库2名称 仓库远程链接

2. 成功之后,在电脑点击前往文件夹:~/.cocoapods/repos,就能看见远程仓库2的本地文件。(例如:上图的TTSpec),此刻只需要CD到本地仓库1,执行命令(如果之前本地仓库2已经存在,你需要CD到仓库2,执行git clean –f后再执行下面代码):

$ pod repo push 仓库2名称 配置文件.podspec

如果出现下图提示,则证明上传成功,你可以到本地仓库2和远程仓库2查看文件。

CocoaPods创建私有库步骤

五、测试

1. 在终端执行pod search 项目名,如果没有搜索到,可以执行下面命令:

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

搜索成功后界面如图:

CocoaPods创建私有库步骤

2. 新建Xcode测试项目,CD到项目文件夹,执行:$ touch Podfile,在项目文件夹中找到Podfile文件,1️以下面格式编辑并保存(这里source是远程仓库2地址):

CocoaPods创建私有库步骤

3.在终端执行安装:

$ pod install –verbose –no-repo-update

安装好之后,再次打开项目,就可以看到导入的文件。

希望能帮到您,有什么问题请给我留言。