主要來記錄最近做的項目當(dāng)中所有用到的第三方庫,對用到的輪子進行總結(jié)和歸納抵怎。
目前開發(fā)項目中奋救,以已為例,不再像之前那樣把所有的第三方庫下到本地反惕,再導(dǎo)入工程中尝艘,然后就是苦逼的開始往Linked Frameworks and Libriaries中添加各種不懂的文件,能搗鼓半天姿染,自我感覺牛逼背亥,實則是傻X的。
然則CocoaPods解決了這些繁瑣的問題盔粹,所以開發(fā)項目用就行隘梨,不邏輯那么多了。
先來一個總覽
CocoaPods管理 | 本地導(dǎo)入的三方庫 |
---|---|
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'
- 提供一個導(dǎo)航控制器可婶,掃描 二維碼 / 條形碼
- 能夠生成指定 字符串 + 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
視圖角標(biāo)提示造垛,按鈕魔招,圖片等,支持四種不同的效果,心臟跳動效果五辽,呼吸燈效果办斑,橫向抖動,靜止?fàn)顟B(tài)杆逗。
pod 'WZLBadge'
- 小紅點
- 紅底白字“new”
- 紅底白字?jǐn)?shù)字
效果圖:
2.本地導(dǎo)入的第三方庫
Areapicker
地區(qū)選擇器乡翅,動態(tài)聯(lián)動,網(wǎng)絡(luò)獲取地址罪郊。
效果圖:
GBTagListView
流式標(biāo)簽添加點擊事件,支持block回調(diào)統(tǒng)計當(dāng)前選擇的標(biāo)簽蠕蚜。
效果圖:
KxMenu
下拉選項按鈕,一般出現(xiàn)在導(dǎo)航欄的右側(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ò)獲取,如有錯誤的地方踏堡,即刻更改猎唁。