基于git搭建CocoaPods私有库
1、创建并设置一个私有的Spec Repo。
2、创建Pod的所需要的项目工程文件,并且有可访问的项目版本控制地址。
3、创建Pod所对应的podspec文件。
4、本地测试配置好的podspec文件是否可用。
5、向私有的Spec Repo中提交podspec。
6、在个人项目中的Podfile中增加刚刚制作的好的Pod并使用。
一、创建私有的Spec Repo
Spec Repo 是所有的Pods的一个索引,是所有公开的Pods 的podspec 文件的一个仓库,其实就是一个部署在服务器的Git仓库,当你使用CocoaPods 后它会被Clone到本地的 ~/.cocoapods/repos 目录下,大概的文件目录如下:
.
├── MySpecs
│ ├── MyLib
│ │ └── 0.1.1
│ │ └── MyLib.podspec
│ └── README.md
└── master
├── CocoaPods-version.yml
├── README.md
└── Specs
├── !ProtoCompiler
│ ├── 3.0.0
│ ├── 3.0.0-beta-3.1
│ └── 3.0.0-beta-4
├── !ProtoCompiler-gRPCPlugin
│ ├── 0.14.0
│ ├── 1.0.0
│ ├── 1.0.0-pre1
│ ├── 1.0.0-pre1.1
│ └── 1.0.0-pre1.2
Tip:~/.cocoapods/repos文件是一个隐藏目录,在Mac 上默认是看不到隐藏目录的,但是我们可以通过「终端」应用程序打开。在Terminal中执行以下命令显示隐藏文件:
$ defaults write com.apple.finder AppleShowAllFiles -boolean true ; killall Finder
执行以下命令恢复隐藏
$ defaults write com.apple.finder AppleShowAllFiles -boolean false ; killall Finder
目录树形图就是我电脑的本地的 ~/.cocoapods/repos目录,其中master就是官方的Sepc Repo,跟master同目录级别的MySpecs目录就是我自己的创建的私有Sepc Repo。
1、首先在coding.net上创建一个MySpecs项目,当然你也是可以在公司内网创建的。
2、然后在Terminal中执行以下命令
# pod repo add [Private Repo Name] [GitHub HTTPS clone URL]
$ pod repo add MySpecs https://git.coding.net/xxx/MySpecs.git
注意:这个Git 仓库地址要换成你自己的创建的 Specs git 地址!!!
成功后会在~/.cocoapods/repos目录下就能看到MySpecs了,至此,第一步创建私有
Spec Repo就完成了。
二、创建Pod项目工程
1.创建Pod项目工程
首先,在coding.net上创建一个MyLib项目,当然你也是可以在公司内网创建的。
然后,使用Cocoapods提供的一个Using Pod Lib Create 工具创建一个工程。
在Terminal中执行cd进入要创建项目的目录然后 执行以下命令:
#pod lib create [项目名]
$pod lib create MyLib
接着在Terminal控制台会输出:
Cloning `https://github.com/CocoaPods/pod-template.git` into `MyLib`.
Configuring MyLib template.
------------------------------
To get you started we need to ask a few questions, this should only take a minute.
If this is your first time we recommend running through with the guide:
- http://guides.cocoapods.org/making/using-pod-lib-create.html
( hold cmd and double click links to open in a browser. )
What language do you want to use?? [ Swift / ObjC ]
> ObjC
第一个问题是问你选择Swift还是Objc构建项目。此教程 选的是ObjC
Would you like to include a demo application with your library? [ Yes / No ]
> Yes
第二个问题问你是否需要创建一个Demo项目,此教程选的是Yes
Which testing frameworks will you use? [ Specta / Kiwi / None ]
> Specta
第三个问题让你是否选择一个测试框架,此教程选 Specta
Would you like to do view based testing? [ Yes / No ]
> Yes
第四个问题是否基于View测试,选Yes
What is your class prefix?
> ZYK
第五个问题是询问 类的前缀,设为ZYK
设置完成后控制台输出:
Running pod install on your new library.
[!] No `Podfile' found in the project directory.
Ace! you're ready to go!
We will start you off by opening your project in Xcode
open 'MyLib/Example/MyLib.xcworkspace'
The file /Users/ken/Desktop/工作/MyLib/Example/MyLib.xcworkspace