首页 关于 微信公众号
欢迎关注我的微信公众号

iOS 入门(2):管理第三方库

本文主要讲的是如何使用 CocoaPods 管理第三方库,以及在项目中引用第三方库。本文的内容只包含最基本的知识点。

教程

目录:

1、安装 CocoaPods

代码复用是提高工程开发效率的重要方法,使用第三方库就是一种普遍的方式。在 iOS 开发中使用最广泛的管理第三方库的方案就是使用 CocoaPods。

1)安装 Ruby 环境。CocoaPods 是使用 Ruby 实现的,可以通过 gem 命令来安装,Mac OS X 中一般自带 Ruby 环境。接下来将默认的 RubyGems 替换为淘宝的 RubyGems 镜像,速度要快很多。

$ sudo gem sources -a https://ruby.taobao.org/
$ sudo gem sources -r https://rubygems.org/
$ sudo gem sources -l

2)安装 CocoaPods。

$ sudo gem update
$ sudo gem install -n /usr/local/bin cocoapods -v 0.39
$ pod setup
$ pod --version

2、在当前项目中引入 CocoaPods 和第三方库

1)安装好 CocoaPods 后,接着我们前面讲的项目,在项目的根目录下创建一个名为 Podfile 的文件。

image

在文件中添加如下内容:

source 'https://github.com/CocoaPods/Specs.git'

platform :ios, "8.0"
target "iOSStartDemo" do
	pod 'SVProgressHUD', '1.1.3'
	pod 'Masonry', '0.6.3'
end

代码解释:我们通过 CocoaPods 引用了两个第三方库:SVProgressHUD 一个展示各种类型提示信息的库;Masonry 是一个封装了 Autolayout API 使得它们更易使用的库。

2)在 Terminal 命令行中进入项目的根目录(即上面创建的 Podfile 所在的目录)。执行下列命令来安装第三方库:

$ pod install

如果成功执行,将会为你生成一个 iOSStartDemo.xcworkspace 文件。如果你在 Xcode 中已经打开了 iOSStartDemo 项目,那么先关闭它,然后双击 iOSStartDemo.xcworkspace 文件或者在命令行下执行:

$ open iOSStartDemo.xcworkspace

即可用 Xcode 打开新的项目。

image

3、在代码中使用第三方库。

修改 STMainViewController.m 代码如下:

#import "STMainViewController.h"
#import <Masonry/Masonry.h>
#import <SVProgressHUD/SVProgressHUD.h>

@interface STMainViewController ()

@end

@implementation STMainViewController

#pragma mark - Lifecycle
- (void)viewDidLoad {
    [super viewDidLoad];
    
    // Do any additional setup after loading the view, typically from a nib.
    
    // Setup.
    [self setupUI];
}

#pragma mark - Setup
- (void)setupUI {
    // Hello button.
    UIButton *helloButton = [UIButton buttonWithType:UIButtonTypeSystem];
    [helloButton setTitle:@"Hello" forState:UIControlStateNormal];
    [helloButton addTarget:self action:@selector(onHelloButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:helloButton];
    [helloButton mas_makeConstraints:^(MASConstraintMaker *make) {
        make.width.equalTo(@60.0);
        make.height.equalTo(@40.0);
        make.center.equalTo(self.view);
    }];
}

#pragma mark - Action
- (void)onHelloButtonClicked:(id)sender {
    NSLog(@"Hello, world!");
    
    [SVProgressHUD showSuccessWithStatus:@"Hello, world!" maskType:SVProgressHUDMaskTypeBlack];
}

@end

代码解释:通过 #import <Masonry/Masonry.h>#import <SVProgressHUD/SVProgressHUD.h> 引用第三方库。将 helloButton 的布局代码用 Masonry 重写;用 SVProgressHUD 替代 UIAlertController 展示信息。

修改后你看到的界面如下:

image

最后,我一直认为对于一门语言的初学者来说,了解该语言的标准编码风格是十分紧要的事情之一,这样可以使得你的代码与周围的环境和谐一致,也能便于你去了解这门语言的一些设计思想。如果你想要了解 Objective-C 的编码风格,你可以看看:Objective-C 编码风格指南

Demo

如果你还没有下载 iOSStartDemo,请先执行下列命令下载:

$ git clone https://github.com/samirchen/iOSStartDemo.git
$ cd iOSStartDemo/iOSStartDemo

如果已经下载过了,则接着进入正确的目录并执行下列命令:

$ git fetch origin s2
$ git checkout s2
$ pod install
$ open iOSStartDemo.xcworkspace

Blog

Opinion

Project