精良的第三方 比較全面的

GitHub第三方資源庫整理(OC篇)

隨着GitHub star 的項目愈來愈多,並且以前也沒有整理,因此找起來特別麻煩,因而就有了這篇文章,一是方便我本身查找,都做了分類,並且都做了標註,對應找起來容易得多;二是分享出來,資源共享。這篇文章會持續更新,有好的GitHub項目就會加進來,而且會把更新說明寫在文末。javascript

更直觀更方便的內容形式,請訪問本文的GitBook地址:GitHub第三方資源庫整理(OC篇)java

網絡

AFNetworking:mattt大神的網絡事件處理框架。mysql

XMPPFramework:XMPP,主要用於即時通信。ios

CocoaAsyncSocket:異步socket請求框架。git

Reachability:用來檢查應用當前的網絡鏈接情況,是蘋果Reachability類的直接替代品,支持ARC,支持block,使用GCD方法來通知網絡接口的變化。github

SocketRocket:WebSocket協議是一種網絡協議,它的Web設計實現了瀏覽器與服務器的雙向通信。經過使用WebSockets,你能夠重複使用現有的工具創建網頁,就像大多數移動應用程序重複使用他們API中的HTTP協議同樣。web

CocoaSPDY:Twitter出品的一款關於HTTP請求的框架。面試

OHHTTPStubs:測試篡改你app的網絡數據響應時間響應代碼和頭文件,很是容易就摧毀你的網絡請求。objective-c

綜合

ReactiveCocoa:簡稱RAC,函數響應式編程框架。算法

YYKit:ibireme寫的一款綜合框架,包含YYModelYYCacheYYImageYYWebImageYYTextYYKeyboardManagerYYDispatchQueuePoolYYAsyncLayerYYCategories

AsyncDisplayKit:facebook出品,被應用於Paper,是一款可以保持界面流暢性的iOS開源框架,即便是最複雜的用戶界面,也可讓其流暢運行並快速響應。

RestKit:旨在與RESTful web服務的交互變得更簡單快速,具備強大的特性:

  • 簡單高層次的HTTP請求/響應系統;
  • 框架支持切換服務器以及環境;
  • Core Data支持;
  • 對象映射系統;
  • 生成數據庫文件;
  • 可插入解析層。

NewsBlur:是一個我的的新聞閱讀器,將人們聚在一塊兒談論世界。

動畫

動畫引擎

POP:facebook出品,動畫引擎(推薦)。

Canvas:動畫引擎,最喜歡的就是它關聯Runtime Attribute了,能夠在SB添加KeyPath直接加動畫。

JazzHands:做用於UIKitkeyframe-based動畫框架,具備良好的表現。

動畫引擎使用

Popping:使用pop動畫引擎作的動畫合集。

AGGeometryKit-POP:結合Pop的一個動畫框架,帶有力學動畫效果。

FastAnimationWithPOP:SB快速導入動畫,之前用過的,不過推薦使用Canvas

轉場動畫

VCTransitionsLibrary:控制器之間的轉場動畫。

FDFullscreenPopGesture:全屏POP的手勢動畫。

VVBlurPresentation:王巍寫的一款簡單過渡到另一個控制器,可是保持原來控制器的視圖並模糊化,這對於一些提示比較有用。

LNPopupController:彈窗效果present到另一個控制器,就像Apple Musicapp和Podcastsapp裏的效果同樣。

KMNavigationBarTransition:不須要寫任何代碼就可實現對不一樣風格導航的轉場動畫管理。

AnimatedTransitionGallery:許多種不一樣的轉場動畫風格。

其餘動畫

RGCardViewLayout:City Guide App的卡片滑動動畫效果。

iCarousel:卡片樣式的旋轉木馬動畫效果。

BCGenieEffect:實現了在Mac OS 中最小化或最大化窗口時的過渡效果。

自動佈局

Masonry:自動佈局,目前在用(推薦)。

PureLayout:自動佈局,OCSwift皆可用。

SDAutoLayout:自動佈局代碼精簡化,支持CellTableView高度自適應。

OAStackView:UIStackView iOS9以後的控件,對於自動佈局這塊很是方便,OAStackView就是兼容iOS7+系統的框架。

FDStackView:百度知道團隊出品,兼容UIStackView iOS6+系統,FDStackView Part1FDStackView Part2FDStackView Part3這三篇文章是做者分析FDStackView的設計實現過程(推薦)。

鍵盤交互管理

YYKeyboardManager:YYKit的組成部分,針對鍵盤管理(推薦)。

TPKeyboardAvoiding:鍵盤交互事件。

IQKeyboardManager:鍵盤交互管理。

加載指示、HUD

MBProgressHUD:加載進程指示框架,都知道。

SVProgressHUD:輕量的HUD

NJKWebViewProgress:顯示webView交互進程的控件。

Shimmer:facebook出品,給APP的任何view添加shimmering動畫效果,這個框架最初就是做爲Paper加載動畫的。

PQFCustomLoaders:頗有趣的自定義加載器。

DGActivityIndicatorView:很nice的加載指示器,有32種不要的加載指示風格。

數據處理

數據庫

realm-cocoa:Realm是Core Data和SQLite的代替品,操做移動數據庫更加直接、快捷、耐用。

MagicalRecord:對於使用Core Data作了很是好的封裝,用Core Data值得一試。

fmdb:對SQLite進行了封裝。

存儲

YTKKeyValueStore:唐巧寫的Key-Value方式存儲數據。

UICKeyChainStore:對Keychain的封裝,讓你使用Keychain APIsNSUserDefaults同樣簡單。

轉換

MJExtension:李明傑寫的一款JSONModel的框架。

Mantle:一款model層的框架,爲何唱吧iOS 6.0選擇了Mantle

JSONModel:一個解析服務器返回的Json數據,而後快速建立JSON 數據模型。同Mantle相似,不過JSONModel使用較爲簡單,但Mantle彷佛更爲強大,看我的選擇。

Underscore.m:一個小型實用工具庫,能夠幫助開發者更方便地處理Objective-C中常見的數據結構

解析

JSONKit:主要用於JSON數據處理解析。

Ono:mattt大神寫的一款關於處理XMLHTML的框
架。

hpple:解析XML/HTML的框架。

Categories

iOS-Categories:很是有用的objective-c Categories,涉及到FoundationUIKitCoreDataQuartCoreCoreLocationMapKit等。

octave:UI 操做音效,UIControl的category。

LTNavigationBar:動態改變UINavigationBar的顯示狀態,相似手機QQ中QQ空間的導航效果。

FlatUIKit:扁平化的UI視圖集合。

UIKit

UI視圖

JSQMessagesViewController:一款優雅的關於聊天信息的UI框架。

SDCycleScrollView:無限循環圖片輪播器。

CoreLock:高仿支付寶手勢密碼。

日曆視圖

JTCalendar:自定義的日曆視圖。

GLCalendarView:同上,一款日曆視圖。

圖表、繪圖

PNChart:周凱文寫的一款很好的圖表框架。

core-plot:也是一款2D的繪圖框架。

引導頁、狀態頁

Onboard:只需少許代碼就可建立很是nice的引導頁。

DZNEmptyDataSet:沒有請求到網絡數據或者請求失敗的視圖展現,就好像web的404頁面同樣。

View

CRPixellatedView:UIView的子類,作像素化的動畫處理。

SwipeView:水平分頁滑動視圖。

Alert、Sheet

MMPopupView:高度可定製的alert、sheet。

TSMessages:提示信息、通知信息控件。

RKDropdownAlert:基於facebook的app Slingshot的alert,靈感取自於SVProgressHUD的一個提示框架。

SCLAlertView:具備很是讚的動畫的Alert View

CMPopTipView:是一個開源的泡泡風格文本提示框控件。

TableView

FXForms:很是容易建立table數據形式,用於設置頁面很是理想。

VVeboTableViewDemo:VVebo剝離的TableView繪製,對TableView進行流暢度優化。

RETableViewManager:數據驅動tableView進行內容管理。

TextView

SlackTextViewController:文本輸入視圖,對於消息編輯很是有用,相似於微信發送消息的那個輸入框。

Menu

RESideMenu:左右側視圖視差效果menu,不過好久沒有commit了。

AwesomeMenu:Path2.0裏面的menu效果。

Button

VBFPopFlatButton:使用pop作的不一樣狀態具備平緩過渡動畫效果的扁平化button。

BEMCheckBox:一款可自定義的具備很是nice動畫效果的checkbox

TextField

JVFloatLabeledTextField:編輯就會出現浮動的提示label,效果不錯。

Label

TTTAttributedLabel

RQShineLabel:相似於Secret的文字閃爍動畫。

Font、Color

FontAwesomeKit:字體框架,支持Font-AwesomeFoundation iconsZocialionicons

Chameleon:相似顏色板同樣,具備不少超讚的顏色可供直接使用。

Colours:和Chameleon功能相似。

DKNightVersion:對顏色的管理,融合了白天和黑夜的主題效果。

Cell

SWTableViewCell:滑動Cell的內容視圖,出現功能按鈕。(推薦)

MGSwipeTableCell:功能同上。

UITableView-FDTemplateLayoutCell:sunnyxx寫的,自動計算cell動態高度。

CoreText、AttributeText

DTCoreText:容許使用HTML代碼的Core Text框架。

YYText:很是強大的富文本顯示和編輯框架。(推薦)

Image

GPUImage:GPUImage 是ios下一個開源的基於GPU的圖像處理庫,提供各類各樣的圖像處理濾鏡,而且支持照相機和攝像機的實時濾鏡。

圖片加載、緩存

SDWebImage:異步圖片下載處理,支持緩存,我相信大部分開發者都用過。

PINRemoteImage:對圖片下載、加載、緩存的管理,線程安全且快速,對於網絡圖片具備很好的表現力。

Haneke:輕量的圖片緩存框架。

AsyncImageView:異步圖片處理的一個簡單Extension。

Concorde:下載和解碼JPEGs格式圖片。

GIF

FLAnimatedImage:Gif引擎框架。

YLGIFImage:異步Gif解碼,播放Gif圖片,佔用內存少。

Camera、視頻

XCDYouTubeKit:YouTube視頻播放框架。

ZFPlayer:基於AVPlayer支持橫屏、豎屏的視頻播放器。

kxmovie:使用ffmpeg製做的一款視頻播放器。

PBJVision:一款camera的引擎,支持錄屏慢動做獲取圖片等特性,且camera可自定義。

MWPhotoBrowser:一款優雅的圖片、視頻資源瀏覽器。

瀑布流

CHTCollectionViewWaterfallLayout:UICollectionView的瀑布流。

Objective-C與JS交互

JSPatch:JSPath充當Objective-C
JavaScript 交互的橋樑。

WebViewJavascriptBridge:Objective-C
javascript 交互通訊過程當中,和JSPath同樣充當橋樑。

地圖、地理位置信息、LBS

LocationManager:很是容易獲取設備當前地理位置信息的框架。

ReactiveCocoa

ReactiveCocoa:簡稱RAC。

MVVMReactiveCocoa:使用ReactiveCocoa結合MVVM模式作的一個Demo。

Runtime

RuntimeBrowser:有關運行時操做的工具,你有權使用運行時全部的類。

iOS-Runtime-Headers:使用RuntimeBrowser導出的iOSframework的頭文件。

Block

BlocksKit :對於使用Block來講更加方便、高效,不過很久沒有commit了。

KVO

KVOController:facebook出品,它是一個簡單安全的 KVO工具,構建了一個基於 Cocoa 的 time-tested key-value 監控實現,提供簡單方便、線程安全的 API。

AOP、Method Swizzling

Aspects:一個簡潔高效的用於使iOS支持AOP面向切面編程的庫。

路由器、Deep Link

JLRoutes:引入路由器的概念handle complex URL schemesdeep link(推薦)。

DeepLinkKitroutable-iosHHRouter:功能同上。

測試

Kiwi:iOS的BDD框架。

specta:輕量的TDD/BDD測試框架。

KIF:全稱是Keep It Functional,來自Square,是一款專爲iOS設計的移動應用測試框架

日誌

CocoaLumberjack:是Mac和iOS上一個集快捷、簡單、強大和靈活於一身的日誌框架。

工具、Xcode插件

工具

Alcatraz:Xcode插件管理神器,固然還有些其餘的包管理功能。

FLEX:一款很好的調試工具,一樣是Flipboard出品。

PonyDebugger:原生app使用Chrome開發工具進行遠程的網路和數據debug

xctool:facebook出品的取代Apple's xcodebuild,讓編譯和測試更簡單。

Tweaks:facebook出品的快速原型開發工具,能在應用上實時調整參數並測試效果。

EarlGrey:google出品的UI自動測試工具。

GitUp:用於Git交互。

插件

injectionforxcode:運行中的程序,而後在Xcode中動態插入代碼,你能夠實時看到編譯器中的變更。

CATweaker:建立CAMediaTimingFunction曲線的一個幫助工具,該插件能夠實時觀看你建立的曲線,並且可調整。

KSImageNamed-Xcode:自動call imageNamed:獲取圖片資源名字填充,且相應圖片在左側可見。

XAlign:自動代碼對齊插件。

VVDocumenter-Xcode:王巍寫的一款編寫文本的插件,用於註釋很是方便。

SCXcodeSwitchExpander:自動填充Switch語句的枚舉case值。

RTImageAssets:給定一張@3x的圖片,自動生成其餘像素的圖片,也能夠給定一張@2x的圖自動片生成@3x的圖片。

ESJsonFormat-Xcode:將JSON格式化輸出爲模型的屬性插件。

FuzzyAutocompletePlugin:代碼索引、自動補全代碼的插件。

ColorSense-for-Xcode:主要針對RGB顏色值,可實時查看RGB顏色。

API、SDK

facebook-ios-sdk:facebook的sdk,使用它能夠集成facebook的一些API。

octokit.objc:GitHubAPI。

其餘

PKRevealController:是一個iOS平臺上的視圖控制器集合,經過展示多個視圖控制器來進行控制器之間的切換,設置簡單,高度靈活。

nimbus:旨在落實Three20,可是提供文檔放在第一位,其次纔是功能。

Chameleon:就像是一個港口,有iPhoneiPadMac幾個分支,用於處理不一樣平臺。

iOS-Artwork-Extractor:能夠把全部圖片和emoji符號提取出來,並導入png文件。

Bolts-ObjC:集成多任務處理的,和GCD、NSOperation的做用有點相似。

資料

iOSInterviewQuestions:ios面試題集錦。

open-source-ios-apps:關於iOS開發一些開源的資源集錦,涉及iOS開發的各個方面。

trip-to-iOS:iOS學習資料整理。

相關文章
相關標籤/搜索