作者:Arthur Knopper,原文鏈接国觉,原文日期:2015/07/07
譯者:Prayer贞岭;校對:shanks;定稿:shanks
Cocoapods 是 iOS 應(yīng)用的包管理工具绢涡。它簡化了第三方庫的導(dǎo)入并且將幫你處理庫之間的依賴關(guān)系。在這個教程中遣疯,我們將會使用 cocoa pods 導(dǎo)入 FontBlaster
這個第三方庫雄可。使用 FontBlaster
這個庫可以在項(xiàng)目中更加方便地使用第三方的字體。本教程的環(huán)境基于 iOS8 和 Xcode6.4缠犀。
打開 Xcode 使用 Single View Application
創(chuàng)建一個項(xiàng)目数苫。項(xiàng)目名稱可以使用 IOS8SwiftCocoapodsTutorial
,其他配置項(xiàng)(比如:Organization Name 和 Organization Identifier)可以自定義辨液。選擇 Swift 作為開發(fā)語言虐急,并且在設(shè)備選項(xiàng)選中 iPhone
。

咱們的這個教程中會用到一個自定義字體室梅,可以從這里下載戏仓,并加入到項(xiàng)目中。接下來亡鼠,關(guān)閉 Xcode 項(xiàng)目并打開終端赏殃。首先我們需要安裝 cocoa pods。這個過程將會用到 ruby 環(huán)境间涵,而 Mac OS X 系統(tǒng)已經(jīng)自帶了 ruby仁热。在終端中輸入如下命令:
sudo gem install cocoapods
譯者注:因某些原因不能安裝成功的同學(xué),可以參考唐巧的這篇博客
接下來使用以下命令克隆 Cocoapods 的 master 分支到本地勾哩。
pod setup --verbose
然后進(jìn)入 Xcode 項(xiàng)目文件目錄抗蠢,生成 Podfile
文件
pod init
之后需要編輯 Podfile
文件,讓它包含 FontBlaster 這個第三方庫思劳。使用如下命令打開它
open -a Xcode Podfile
編輯后的 Podfile 文件如下
# Uncomment this line to define a global platform for your project
platform :ios, '8.0'
use_frameworks!
target 'IOS8SwiftCocoapodsTutorial' do
pod 'FontBlaster', '1.0.8'
end
target 'IOS8SwiftCocoapodsTutorialTests' do
end
譯者注:這里的版本號 1.0.8 為譯者加上迅矛,F(xiàn)ontBlaster 已經(jīng)支持 Swift 2.0,如果不指定為該版本號潜叛,會下載最新的 FontBlaster秽褒,這要求 Xcode 7.x版本壶硅。如果你使用的是 Xcode6.x 版本,需要指定該版本號销斟。
項(xiàng)目的 target 是 iOS8.0庐椒,use_frameworks!
這句是必須的,因?yàn)?Swift 使用的是框架而不是靜態(tài)庫蚂踊。pod 'FontBlaster'
告訴 Cocoapods 你想在項(xiàng)目中使用 FontBlaster 约谈。保存對文件的修改,并在終端中輸入以下命令
pod install
FontBlaster 和相關(guān)依賴都會被自動安裝犁钟。同時會新建一個 IOS8SwiftCocoapodTutorial.xcworkspace
文件棱诱。打開這個 workspace,找到 Storyboard涝动。向其中拖入一個 Label
军俊,并放在視圖的中間偏上位置。

點(diǎn)擊 Assistant Editor
捧存,確保 ViewController.swift
和 Storyboard 可以同時顯示,按住 Ctrl
同時從 Label 向 swift 文件中拖拽担败,隨后創(chuàng)建如下 Outlet:

在 ViewController.swift
文件的開始昔穴,導(dǎo)入 FontBlaster
庫。
import FontBlaster
修改 viewDidLoad
代碼:
override func viewDidLoad() {
super.viewDidLoad()
FontBlaster.debugEnabled = true
FontBlaster.blast()
label.font = UIFont(name: "OpenSans-Bold", size: 30.0)
label.text = "Testing Cocoapods"
}
debugEnabled
屬性被設(shè)置為 true
提前,用來觀察從 bundle
中加載字體的日志信息吗货,通過調(diào)用 blast()
方法,bundle
中的所有字體都會被加載狈网。編譯運(yùn)行程序宙搬,查看運(yùn)行效果。
譯者注:如果遇到
No fonts were found in the bundle path
提示拓哺,可以到'Targets' -> 'Build Phases' -> 'Copy Bundle Resources'
中手動添加字體文件勇垛。

你可以從 Github 上下載本教程的代碼。