Swift iOS : CocoaPods

CocoaPods是一个iOS项目的依赖管理器,使用它可以让导入第三方库和处理依赖关系变得简单。

出于测试和验证的目的,这里会创建一个Swift工程,并采用CocoaPods导入第三方HTTP库alamofire。

准备CocoaPods

CocoaPods需要系统内已经安装了ruby,如果没有安装,请首先安装它。可以使用如下命令:

sudo gem install cocoapods复制代码

安装此工具。随即使用:

pod setup --verbode复制代码

做配置。命令执行完毕,cocoapods就是可用的了。

创建一个演示工程

步骤如下:

  1. 打开xcode
  2. 点击“Create a new Xcode project”
  3. 选择Single View App
  4. 填写product name为poddemo;填写语言为Swift
  5. 设置目录

完成创建后,退出xcode

初始化

打开Terminal,导航到工程目录,执行命令:

pod init复制代码

此命令会在目录内创建Podfile文件。接下来使用xcode打开Podfile文件:

open -a Podfile复制代码

加入alamofire文件的依赖,修改后的Podfile为:

target 'poddemo' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!

  # Pods for poddemo
  pod 'Alamofire', '~> 4.4'
end复制代码

退出xcode,在terminal内执行命令:

pod install复制代码

安装Alamofire,并且创建一个扩展名为xcworkspace的文件。

使用Alamofire访问HTTP

再次使用xcoce打开xcworkspace文件。编辑AppDelegate.swift为:

import UIKit
import Alamofire
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
    var window : UIWindow?
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        foo()
        window = UIWindow()
        window!.rootViewController = UIViewController()
        window!.rootViewController!.view.backgroundColor = .blue
        window!.makeKeyAndVisible()
        return true
    }
    func foo(){
        Alamofire.request("https://httpbin.org/get").responseJSON { response in
            print(response.request)
            print(response.response)
            print(response.data)
            print(response.result)
            if let JSON = response.result.value {
                print("JSON: \(JSON)")
            }
        }
    }
}复制代码

编译运行,期望的输出为:

Optional(https://httpbin.org/get)
Optional(<NSHTTPURLResponse: 0x600000222840> { URL: https://httpbin.org/get } { status code: 200, headers {
    "Access-Control-Allow-Credentials" = true;
    "Access-Control-Allow-Origin" = "*";
    Connection = "keep-alive";
    "Content-Length" = 359;
    "Content-Type" = "application/json";
    Date = "Wed, 26 Apr 2017 01:15:59 GMT";
    Server = "gunicorn/19.7.1";
    Via = "1.1 vegur";
} })
Optional(359 bytes)
SUCCESS
JSON: {
    args =     {
    };
    headers =     {
        Accept = "*/*";
        "Accept-Encoding" = "gzip;q=1.0, compress;q=0.5";
        "Accept-Language" = "en;q=1.0";
        Connection = close;
        Host = "httpbin.org";
        "User-Agent" = "poddemo/1.0 (home.poddemo; build:1; iOS 10.2.0) Alamofire/4.4.0";
    };
    origin = "221.237.156.243";
    url = "https://httpbin.org/get";
}复制代码

如果输出是对的,就说明通过CocoaPods导入的第三方库已经成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值