iOS开发iOS开发者图书馆iOS接下来要研究的知识点

IOS创建CocoaPods私有库

2018-02-18  本文已影响206人  BetterG

IOS创建CocoaPods私有库

最近领导说要把项目模块化、组件化,网上看了一大推资料,自己瞎搞了一天,终于告一段落。

IOS创建私有库步骤

1、在终端上移动到你想创建pod库工程的路径,并执行pod库的创建。命令如下

BetterdeMacBook-Pro:~ better$ cd desktop
BetterdeMacBook-Pro:desktop better$ pod lib create PrivateHelloWorld

回车之后,终端会询问你几个哲学的问题

# 选择编程语言
What language do you want to use?? [ Swift / ObjC ]
> Objc  

# 在你的项目中是否创建一个demo工程,为了方便测试,我选择了Yes
Would you like to include a demo application with your library? [ Yes / No ]
 > Yes  

# 测试框架选择哪一个
Which testing frameworks will you use? [ Specta / Kiwi / None ]
 > None

#要不要做视图测试
Would you like to do view based testing? [ Yes / No ]
 > Yes

# 类前缀名
What is your class prefix?
 > BY
安装Pod成功.png

恭喜你,Pod私有库创建成功。一般来说创建成功会自动打开项目

2、安装CocoaPods项目
找到刚才创建的PrivateHelloWorld文件夹,点击入去,里面的目录如下


image.png
# 移到Example目录下
BetterdeMacBook-Pro:desktop better$ cd /Users/better/Desktop/PrivateHelloWorld/Example 
# 安装CocoaPods项目
BetterdeMacBook-Pro:Example better$ pod install --no-repo-update

安装过程如下图


image.png

吓了我一跳,3行黄色字英文,大概意思就是Example文件夹里面的Podfile文件没有指定的平台和版本号,默认用ios,版本为9.3版本,建议你balabalabala.

不管了先进去Example文件夹点击后缀为xcworkspace的文件打开项目,运行下是否成功。 OK成功了

3、添加你要添加代码文件(复制粘贴)


image.png

我这里放了PrintHelloWorld文件

4、编辑CocoaPods的配置文件(后缀名为podspec),打开PrintHelloWorld文件夹就可以看到
可以有很多种编辑方式编辑这个文件,如Xcode、文本编辑器、Sublime Text系列、Atom
我是用文本编辑器打开,难看是难看点,但胜在够方便


podspec文件.png

s.version我习惯是0.0.1开始
s.summary需要改改,不然待会提交会报错
s.homepage这里随便写个网站都行,建议写项目的首页,但一定要改,不然默认的会报错,因为没有默认的网址

s.source需要填一个git地址的私有库,github收费的,为了省钱,找了码云,对,码云(百度就能搜)


码云创建私有库.png
创建成功.png

复制私有库地址,在.podspec文件内的s.source替换地址

image.png

配置完成了

再次移到我们的Example文件,pod更新一下

BetterdeMacBook-Pro:Example better$ pod update --no-repo-update
image.png

打开项目,看看是否成功了


image.png

嘿,添加进来了那就试试PrintHelloWorld可不可以调用

5、添加PrintHelloWorld,运行测试
打开项目,在BYViewController.m里面导入PrintHelloWorld.h文件


image.png

竟然报警了,为什么没有提示的,上网查了下,说直接把要导入的类写进去就好了,试了下还真行,如果有同学知道的话告诉下为什么。


image.png
看到信息了,证明我们本地运行代码没问题,人比较懒,没做界面,直接写了句打印,见谅。现在需要将项目发布到git,并添加到pod。

6、验证pod配置文件
为了保证项目正确性,pod文件配置没问题,在提交之前,我们需要验证一下

用终端移到我们的项目路径

BetterdeMacBook-Pro:~ better$ cd /Users/better/Desktop/PrivateHelloWorld 
image.png

到这里,我们已经完成源码导入、验证项目是否能运行、pod配置文件本地验证了

7、项目发布,tag 0.0.1
终端移到该项目文件下执行git的相关命令

# 添加远程地址,即上面创建码云项目的地址
BetterdeMacBook-Pro:PrivateHelloWorld better$ git remote add origin https://gitee.com/Better_Y/PrintHelloWorld.git
# 添加文件
BetterdeMacBook-Pro:PrivateHelloWorld better$ git add .
# 提交本地,并写描述
BetterdeMacBook-Pro:PrivateHelloWorld better$ git commit -a -m "第一次提交 版本为0.0.1"
# --allow-unrelated-histories
# git pull origin maste会失败 ,提示:fatal: refusing to merge unrelated histories
# 原因是远程仓库origin上的分支master和本地分支master被Git认为是不同的仓库,所以不能直接合并,需要添加 --allow-unrelated-histories

BetterdeMacBook-Pro:PrivateHelloWorld better$ git pull origin master --allow-unrelated-histories
# 推送到码云的PrintHelloWolrd项目的master分支上
BetterdeMacBook-Pro:PrivateHelloWorld better$ git push origin master
# 提交版本号
BetterdeMacBook-Pro:PrivateHelloWorld better$ git tag 0.0.1
# push到远程分支
BetterdeMacBook-Pro:PrivateHelloWorld better$ git push origin 0.0.1
image.png

留心的小伙伴可能会看到,有一个已解决冲突的文件README.md,是上面使用git pull origin master --allow-unrelated-histories命令后报的冲突错误,你可以在创建项目时删掉这个文件,但我个人建议是解决冲突,再按上面步骤再来一遍,从 # 添加文件开始

8、创建Sepc管理库
创建步骤跟上面码云创建的git私有库同理

在终端执行Specs创建命令

BetterdeMacBook-Pro:PrivateHelloWorld better$ pod repo add PrintSpecs https://gitee.com/Better_Y/PrintSpecs.git

现在,我们可以直接发布了

# PrintSpecs是刚才上面添加的管理库名字 
# PrivateHelloWorld.podspec是PrintHelloWorld项目里面后缀为podspec的文件名
BetterdeMacBook-Pro:PrivateHelloWorld better$ pod repo push PrintSpecs PrivateHelloWorld.podspec

发布成功后,我们可以去码云看看PrivateSpecs的git项目有没有提交成功


spec发布成功后的git.png

查看我们本地的Specs库:
直接Findle ->右键 -> 前往文件夹 -> 输入:~/.cocoapods/repos ->点击前往


image.png
本地Spec管理库.png

到这里,我们的私有库发布已经全部完成了

9、检验私有库发布

新建privateDemo项目,创建Podfile文件并安装
Podfile代码如下

platform :ios,'8.0'
target 'privateDemo' do
pod 'PrintHelloWorld',:git => 'https://gitee.com/Better_Y/PrintHelloWorld.git'
end

打开终端并执行pod安装指令:

BetterdeMacBook-Pro:~ better$ cd /Users/better/Desktop/privateDemo 
BetterdeMacBook-Pro:privateDemo better$ pod install --no-repo-update

成功结果如下


安装pod.png

我们打开PrivateDemo项目目录看看


pod目录.png

我们在Appdelegate.m文件试试能否调用


结果.png
到这里,验证我们的私有库发布就完满结束了!!
上一篇 下一篇

猜你喜欢

热点阅读