代码管理| 简易教程之Cocopods的安装和使用

2018-09-12 17:46:07 浏览数 (1)

CocoaPods是一个用Ruby写的、负责管理iOS项目中第三方开源库的工具该项目源码在Github上管理。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和第三方开源库的时间。在使用CocoaPods后,我们只需要把用到的开源库放到一个名为Podfile的文件中,然后执行pod install。Cocoapods就会自动将这些第三方开源库的源码下载下来,并且为我们的工程设置好响应的系统依赖和编译参数。

CocoaPods原理。

CocoaPods的工作主要是通过ProjectName.xcworkspace来组织的,在打开ProjectName.xcworkspace文件后,发现Xcode会多出一个Pods工程。

1.库文件引入及配置:

代码语言:javascript复制
库文件的引入主要由Pods工程中的Pods-ProjectName-frameworks.sh脚本负责,
在每次编译的时候,该脚本会帮你把预引入的所有三方库文件打包的成ProjectName.a静态库文件,
放在我们原Xcode工程中Framework文件夹下,供工程使用。

2.Resource文件:

代码语言:javascript复制
Resource资源文件主要由Pods工程中的Pods-ProjectName-resources.sh脚本负责,在每次编译的时候,
该脚本会帮你将所有三方库的Resource文件copy到目标目录中。

3.依赖参数设置:

代码语言:javascript复制
在Pods工程中的的每个库文件都有一个相应的SDKName.xcconfig,在编译时,CocoaPods就是通过这些文件来设置所有的依赖参数的,
编译后,在主工程的Pods文件夹下会生成两个配置文件,
Pods-ProjectName.debug.xcconfig、Pods-ProjectName.release.xcconfig。

Cocoapods 的安装

在安装之前,先检查本地是否已经安装好了Cocopods,如果安装好了就不用再安装了,终端输入 pod,如果出现下面图1的命令就是已经安装。

如果没有安装就需要先安装Cocoapods

1.首先更新gem(Gem 是一个管理 Ruby 库和程序的标准包)到最新版本,在终端中输入:

代码语言:javascript复制
 sudo gem update --system

2.删除自带的ruby镜像,终端输入:

代码语言:javascript复制
gem sources --remove https://rubygems.org/

3.添加ruby-china的镜像,终端输入:

代码语言:javascript复制
gem sources -a https://gems.ruby-china.org/   //这个网址好像有问题,还是用下面的淘宝镜像吧
(原来的淘宝镜像https://ruby.taobao.org/也可以使用)。

4.可以用 gem sources -l 来检查使用替换镜像位置成功, 结果应该只有https://gems.ruby-china.org/或者https://ruby.taobao.org/才对。

5.安装CocoaPods,终端输入:

代码语言:javascript复制
10.11之前
    $ sudo gem install cocoapods
10.11之后
    $ sudo gem install -n /usr/local/bin cocoapods

安装完后可在终端输入 pod ,会有如下输出:

图1

显示了 pod 的所有可用的命令和命令选项。(如果你的电脑没有安装,pod后就出现上面这图,说明以前就安装好了,可直接使用)

Cocoapods 的使用

打开终端,切换到你的工程目录,输入下面的命令

代码语言:javascript复制
  pod init

此时你的工程目录下会出现一个待编辑的podfile文件:

podfle.lock是编辑过 podfile文件后会生成的

podfle.lock是编辑过 podfile文件后会生成的,不用管它。

编辑podfile文件:vi 后直接拖动工程类目下的 podfile文件到终端中即可得到对于的路径

代码语言:javascript复制
 vi /Users/iOS002/Desktop/MyNewTest/Podfile 

输入你想集成的类库名称后,先按 esc 键,再输入 :wq! 即可保存编辑内容并退出。 编写好 Podfile 后执行以下命令:

代码语言:javascript复制
pod install

这样即可集成目标类库了。

代码语言:javascript复制
  #import "ViewController.h"
  #import <MBProgressHUD.h>
  @interface ViewController ()
  @end

@implementation ViewController
- (void)viewDidLoad {
    [super viewDidLoad];
    
   [MBProgressHUD showHUDAddedTo:self.view animated:YES];
 }

使用的时候导入即可,使用<>而不是""


不错的文章:https://www.jianshu.com/p/1711e131987d

0 人点赞