主要來記錄最近做的項目當中所有用到的第三方庫,對用到的輪子進行總結(jié)和歸納。
目前開發(fā)項目中,以已為例,不再像之前那樣把所有的第三方庫下到本地,再導入工程中,然后就是苦逼的開始往Linked Frameworks and Libriaries中添加各種不懂的文件,能搗鼓半天,自我感覺牛逼,實則是傻X的。
然則CocoaPods解決了這些繁瑣的問題,所以開發(fā)項目用就行,不邏輯那么多了。
先來一個總覽
| CocoaPods管理 | 本地導入的三方庫 |
|---|---|
| AFNetworking | Areapicker |
| HMQRCodeScanner | GBTagListView |
| HMSegmentedControl | KxMenu |
| IQKeyboardManager | PlaceholderTextView |
| JKCountDownButton | UIViewController+ImagePicker |
| FDStackView | XLPasswordView |
| MD5Digest | ZZPhotoKit |
| MJExtension | |
| MJRefresh | |
| PPNetworkHelper | |
| RatingBar | |
| SDAutoLayout | |
| SDCycleScrollView | |
| SDWebImage | |
| SVProgressHUD | |
| UITextView+Placeholder | |
| WZLBadge |
1.通過CocoaPods管理的第三方庫
簡單腦補一下podfile語法:
source 'URL' : 指定鏡像倉庫的源
platform : ios, '6.0' : 指定所支持系統(tǒng)和最低版本
target 'YOUR_TARGET' do : 允許你在工程中限定依賴項只在你指定的targets中生效
pod '庫名', '' : 引入庫,什么版本都可以(一般就是最新版本了)
Podfile語法規(guī)范 , Podfile 的用法見文檔
AFNetworking
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
target 'TargetName' do
pod 'AFNetworking', '~> 3.0'
end
- 自不必過多解釋,iOS開發(fā)幾乎都離不開的吧。
- 正常情況下,開發(fā)之前都會對其進行二次封裝,例如:有些需要對Post的參數(shù)進行簡單的BASE64轉(zhuǎn)換,雖然簡單不至于信息直接暴露于外。
BASE64簡單加密方法:
NSData * jsonData = [NSJSONSerialization dataWithJSONObject:加密內(nèi)容 options:NSJSONWritingPrettyPrinted error:nil];
// Get NSString from NSData object in Base64
NSString *base64Encoded = [jsonData base64EncodedStringWithOptions:0];
HMQRCodeScanner
UI界面的輕量級二維碼掃描及生成框架,包含Objective-C和Swift
platform :ios, '8.0'
use_frameworks!
pod 'HMQRCodeScanner'
- 提供一個導航控制器,掃描 二維碼 / 條形碼
- 能夠生成指定 字符串 + avatar(可選) 的二維碼名片
- 能夠識別相冊圖片中的二維碼(iOS 64 位設(shè)備)
效果圖;

HMSegmentedControl
pod 'HMSegmentedControl'
- 支持文字和圖片兩種顯示方式
- 支持水平滾動
- 支持字體顏色,字距,陰影等文本屬性
- 選擇條可以在文字上面和下面兩種方式
- 支持block回調(diào)
- 支持ARC,iOS >= 7
效果圖:

IQKeyboardManager
鍵盤收縮自適應(yīng),方便快捷全局設(shè)置。
pod 'IQKeyboardManager'
- 只要能滾動的視圖,各種適應(yīng),告別繁瑣的計算,誰用誰知道
JKCountDownButton
子類化UIButton實現(xiàn)iOS倒計時按鈕,常常用于注冊等發(fā)送驗證碼的時候進行倒計時操作
platform :ios
pod 'JKCountDownButton'
- 使用比較方便,需要自己進行相關(guān)的調(diào)整,來適應(yīng)項目需求
FDStackView
能夠在iOS6以上使用UIStackView,使用xib拖拉拽,forkingdog出品,很是方便。
platform :ios, '7.0'
pod "FDStackView", "1.0"
- 支持純代碼使用FDStackView以及使用xib。
- 最低支付Xcode 7+
MD5Digest
對Post的參數(shù)進行MD5加密,加密結(jié)果不可逆,并且有較高的抗碰撞特性。
pod 'MD5Digest'
- 配合后臺開發(fā)人員對請求數(shù)據(jù)進行加密,形成密文
- 項目中的加密方式:Base64_encode(md5(md5($action).md5($key)))
- 先對方法MD5加密,再加鹽,拼接后再對密文MD5加密,最后再轉(zhuǎn)成Base64密文。
- 詳情見 簡書作者 圓臉黑貓警長 iOS Base64、凱撒加密 ,MD5加密(16、32位)
- 注:項目中后臺要求用的是64位,所以代碼中
CC_MD5_DIGEST_LENGTH改成CC_MD5_BLOCK_BYTES
MJExtension
轉(zhuǎn)換速度快、使用簡單方便的字典轉(zhuǎn)模型框架
pod 'MJExtension'
- 字典和模型之間互相轉(zhuǎn)換的超輕量級框架
- 只需要一行代碼,就能實現(xiàn)模型的所有屬性進行Coding(歸檔和解檔)
- 能夠和其相比的就YYModel了
MJRefresh
十分強大的下拉刷新和卡拉加載的框架,明杰出品實屬精品。
pod 'MJRefresh'
- 支持各種自定義效果
- 具體效果gitHub地址上看了。
PPNetworkHelper
對AFNetworking 3.x 與YYCache的二次封裝,存取超簡單,告別FMDB!
pod 'PPNetworkHelper'
- 封裝常見的GET、POST、文件上傳/下載
- 網(wǎng)絡(luò)狀態(tài)監(jiān)測的功能、方法接口簡潔明了
- 結(jié)合YYCache實現(xiàn)對網(wǎng)絡(luò)數(shù)據(jù)的緩存
RatingBar
pod RatingBar, '~>0.0.1'
- 實現(xiàn)簡單的星星評分功能

SDAutoLayout
一行代碼搞定自動布局!支持Cell和Tableview高度自適應(yīng),Label和ScrollView內(nèi)容自適應(yīng)。
pod 'SDAutoLayout', '~> 2.1.3'
- 碰見一些內(nèi)容自增長的效果用這個庫就對了,不算太麻煩。
- 作者有用這個庫實現(xiàn)類似微信的效果,很贊。
SDCycleScrollView
無限循環(huán)圖片、文字輪播器。
pod 'SDCycleScrollView','~> 1.64'
- 常用在頂部和商品詳情的輪播圖
- 支持圖片下面各個圖片的文字顯示
效果圖:

SDWebImage
網(wǎng)絡(luò)圖片加載
platform :ios, '7.0'
pod 'SDWebImage', '~>3.8'
- 開發(fā)必備,不多解釋
SVProgressHUD
HUD提示器,下載,登錄,顯示成功或者失敗的提示信息。
pod 'SVProgressHUD'
- 使用的時候就再封裝一層,白色和黑色的背景自己選擇,主要顯示停留時間是5秒,自定義下吧。
效果圖:
UITextView+Placeholder
pod 'UITextView+Placeholder', '~> 1.2'
- 簡單支持富文本顯示
WZLBadge
視圖角標提示,按鈕,圖片等,支持四種不同的效果,心臟跳動效果,呼吸燈效果,橫向抖動,靜止狀態(tài)。
pod 'WZLBadge'
- 小紅點
- 紅底白字“new”
- 紅底白字數(shù)字
效果圖:

2.本地導入的第三方庫
Areapicker
地區(qū)選擇器,動態(tài)聯(lián)動,網(wǎng)絡(luò)獲取地址。
效果圖:

GBTagListView
流式標簽添加點擊事件,支持block回調(diào)統(tǒng)計當前選擇的標簽。
效果圖:
KxMenu
下拉選項按鈕,一般出現(xiàn)在導航欄的右側(cè)按鈕。
- 功能強大,使用方便,根據(jù)按鈕的位置彈出,通過block回調(diào)。
- 字體大小和顏色可更改,背影色為漸變的效果,還可以添加圖片
效果圖:
PlaceholderTextView
對TextView設(shè)置placeholder屬性。
- 可以設(shè)置holder的文字,顏色,字體大小,起始位置。
UIViewController+ImagePicker
更改單個圖片使用,主要是針對頭像的時候,使用方便。
XLPasswordView
一個簡單的密碼輸入組件,自己寫的隨機數(shù)字鍵盤,UI類似支付寶支付密碼界面,使用簡單,只需要三行代碼就可以 , 代理方法也很簡單明了。
- 代理方法清晰明了,開發(fā)者良心啊。
效果圖:

ZZPhotoKit
基于Photos和AVFoundation框架開源,相冊多選與相機連拍。
- 相冊多選基于最新的 Photos 框架
- 相機連續(xù)拍攝基于AVFundation 框架。
- 圖片瀏覽器支持 SDWebImage 加載圖片
效果圖:
總結(jié)
- 以上內(nèi)容大部分為網(wǎng)絡(luò)獲取,如有錯誤的地方,即刻更改。