GitHub第三方資源庫整理(OC篇)
分類:Objective-C
http://www.reibang.com/p/a1c3b7d5bab1
GitHub第三方資源庫整理(OC篇)
隨著GitHubstar 的項目越來越多恩脂,而且之前也沒有整理,所以找起來特別麻煩隔崎,于是就有了這篇文章谈息,一是方便我自己查找组去,都作了分類聚霜,而且都作了標注屈呕,對應找起來容易得多微宝;二是分享出來,資源共享虎眨。這篇文章會持續(xù)更新蟋软,有好的GitHub項目就會加進來镶摘,并且會把更新說明寫在文末。
更直觀更方便的內(nèi)容形式岳守,請訪問本文的GitBook地址:GitHub第三方資源庫整理(OC篇)凄敢。
網(wǎng)絡
AFNetworking:mattt大神的網(wǎng)絡事件處理框架。
XMPPFramework:XMPP,主要用于即時通訊湿痢。
CocoaAsyncSocket:異步socket請求框架涝缝。
Reachability:用來檢查應用當前的網(wǎng)絡連接狀況,是蘋果Reachability類的直接替代品譬重,支持ARC拒逮,支持block,使用GCD方法來通知網(wǎng)絡接口的變化臀规。
SocketRocket:WebSocket協(xié)議是一種網(wǎng)絡協(xié)議滩援,它的Web設計實現(xiàn)了瀏覽器與服務器的雙向通訊。通過使用WebSockets塔嬉,你可以重復使用現(xiàn)有的工具建立網(wǎng)頁玩徊,就像大多數(shù)移動應用程序重復使用他們API中的HTTP協(xié)議一樣。
CocoaSPDY:Twitter出品的一款關于HTTP請求的框架谨究。
OHHTTPStubs:測試篡改你app的網(wǎng)絡數(shù)據(jù)恩袱、響應時間、響應代碼胶哲、和頭文件,非常容易就摧毀你的網(wǎng)絡請求畔塔。
綜合
ReactiveCocoa:簡稱RAC,函數(shù)響應式編程框架。
YYKit:ibireme寫的一款綜合框架纪吮,包含YYModel俩檬、YYCache、YYImage碾盟、YYWebImage棚辽、YYText、YYKeyboardManager冰肴、YYDispatchQueuePool屈藐、YYAsyncLayer、YYCategories熙尉。
AsyncDisplayKit:facebook出品联逻,被應用于Paper,是一款能夠保持界面流暢性的iOS開源框架,即使是最復雜的用戶界面,也可以讓其流暢運行并快速響應检痰。
RestKit:旨在與RESTful web服務的交互變得更簡單快速,具有強大的特性:
簡單高層次的HTTP請求/響應系統(tǒng)包归;
框架支持切換服務器以及環(huán)境;
Core Data支持铅歼;
對象映射系統(tǒng)公壤;
生成數(shù)據(jù)庫文件换可;
可插入解析層。
NewsBlur:是一個個人的新聞閱讀器,將人們聚在一起談論世界厦幅。
動畫
動畫引擎
POP:facebook出品沾鳄,動畫引擎(推薦)。
Canvas:動畫引擎确憨,最喜歡的就是它關聯(lián)Runtime Attribute了译荞,可以在SB添加KeyPath直接加動畫。
JazzHands:作用于UIKit的keyframe-based動畫框架休弃,具有良好的表現(xiàn)吞歼。
動畫引擎使用
Popping:使用pop動畫引擎做的動畫合集。
AGGeometryKit-POP:結(jié)合Pop的一個動畫框架塔猾,帶有力學動畫效果浆熔。
FastAnimationWithPOP:SB快速導入動畫,以前用過的桥帆,不過推薦使用Canvas。
轉(zhuǎn)場動畫
VCTransitionsLibrary:控制器之間的轉(zhuǎn)場動畫慎皱。
FDFullscreenPopGesture:全屏POP的手勢動畫老虫。
VVBlurPresentation:王巍寫的一款簡單過渡到另外一個控制器,但是保持原來控制器的視圖并模糊化茫多,這對于一些提示比較有用祈匙。
LNPopupController:彈窗效果present到另外一個控制器,就像Apple Musicapp和Podcastsapp里的效果一樣天揖。
KMNavigationBarTransition:不需要寫任何代碼就可實現(xiàn)對不同風格導航的轉(zhuǎn)場動畫管理夺欲。
AnimatedTransitionGallery:許多種不同的轉(zhuǎn)場動畫風格。
其他動畫
RGCardViewLayout:City Guide App的卡片滑動動畫效果今膊。
iCarousel:卡片樣式的旋轉(zhuǎn)木馬動畫效果些阅。
BCGenieEffect:實現(xiàn)了在Mac OS 中最小化或最大化窗口時的過渡效果。
自動布局
Masonry:自動布局斑唬,目前在用(推薦)市埋。
PureLayout:自動布局,OC恕刘、Swift皆可用缤谎。
SDAutoLayout:自動布局代碼精簡化,支持Cell和TableView高度自適應褐着。
OAStackView:UIStackViewiOS9之后的控件坷澡,對于自動布局這塊非常方便,OAStackView就是兼容iOS7+系統(tǒng)的框架含蓉。
FDStackView:百度知道團隊出品频敛,兼容UIStackView iOS6+系統(tǒng)项郊,FDStackView
Part1、FDStackView Part2姻政、FDStackView
Part3這三篇文章是作者分析FDStackView的設計實現(xiàn)過程(推薦)呆抑。
鍵盤交互管理
YYKeyboardManager:YYKit的組成部分,針對鍵盤管理(推薦)汁展。
TPKeyboardAvoiding:鍵盤交互事件鹊碍。
IQKeyboardManager:鍵盤交互管理。
加載指示食绿、HUD
MBProgressHUD:加載進程指示框架侈咕,都知道。
SVProgressHUD:輕量的HUD器紧。
NJKWebViewProgress:顯示webView交互進程的控件耀销。
Shimmer:facebook出品,給APP的任何view添加shimmering動畫效果,這個框架最初就是作為Paper加載動畫的铲汪。
PQFCustomLoaders:很有趣的自定義加載器熊尉。
DGActivityIndicatorView:很nice的加載指示器,有32種不要的加載指示風格掌腰。
數(shù)據(jù)處理
數(shù)據(jù)庫
realm-cocoa:Realm是Core Data和SQLite的代替品狰住,操作移動數(shù)據(jù)庫更加直接、快捷齿梁、耐用催植。
MagicalRecord:對于使用Core Data做了非常好的封裝,用Core Data值得一試勺择。
fmdb:對SQLite進行了封裝创南。
存儲
YTKKeyValueStore:唐巧寫的Key-Value方式存儲數(shù)據(jù)。
UICKeyChainStore:對Keychain的封裝省核,讓你使用Keychain APIs像NSUserDefaults一樣簡單稿辙。
轉(zhuǎn)換
MJExtension:李明杰寫的一款JSON轉(zhuǎn)Model的框架。
Mantle:一款model層的框架气忠,為什么唱吧iOS 6.0選擇了Mantle邓深。
JSONModel:一個解析服務器返回的Json數(shù)據(jù),然后快速創(chuàng)建JSON 數(shù)據(jù)模型。同Mantle類似笔刹,不過JSONModel使用較為簡單芥备,但Mantle似乎更為強大,看個人選擇舌菜。
Underscore.m:一個小型實用工具庫萌壳,可以幫助開發(fā)者更方便地處理Objective-C中常見的數(shù)據(jù)結(jié)構(gòu)
解析
JSONKit:主要用于JSON數(shù)據(jù)處理解析。
Ono:mattt大神寫的一款關于處理XML、HTML的框
架袱瓮。
hpple:解析XML/HTML的框架缤骨。
Categories
iOS-Categories:非常有用的Objective-C Categories,涉及到Foundation、UIKit尺借、CoreData绊起、QuartCore、CoreLocation燎斩、MapKit等虱歪。
octave:UI 操作音效,UIControl的category栅表。
LTNavigationBar:動態(tài)改變UINavigationBar的顯示狀態(tài)笋鄙,類似手機QQ中QQ空間的導航效果。
FlatUIKit:扁平化的UI視圖集合怪瓶。
UIKit
UI視圖
JSQMessagesViewController:一款優(yōu)雅的關于聊天信息的UI框架萧落。
SDCycleScrollView:無限循環(huán)圖片輪播器。
CoreLock:高仿支付寶手勢密碼洗贰。
日歷視圖
JTCalendar:自定義的日歷視圖找岖。
GLCalendarView:同上,一款日歷視圖敛滋。
圖表宣增、繪圖
PNChart:周凱文寫的一款很好的圖表框架。
core-plot:也是一款2D的繪圖框架矛缨。
引導頁、狀態(tài)頁
Onboard:只需少量代碼就可創(chuàng)建非常nice的引導頁帖旨。
DZNEmptyDataSet:沒有請求到網(wǎng)絡數(shù)據(jù)或者請求失敗的視圖展示箕昭,就好像web的404頁面一樣。
View
CRPixellatedView:UIView的子類解阅,做像素化的動畫處理落竹。
SwipeView:水平分頁滑動視圖。
Alert货抄、Sheet
MMPopupView:高度可定制的alert述召、sheet。
TSMessages:提示信息蟹地、通知信息控件积暖。
RKDropdownAlert:基于facebook的appSlingshot的alert,靈感取自于SVProgressHUD的一個提示框架怪与。
SCLAlertView:具有非常贊的動畫的Alert View夺刑。
CMPopTipView:是一個開源的泡泡風格文本提示框控件。
TableView
FXForms:非常容易創(chuàng)建table數(shù)據(jù)形式,用于設置頁面非常理想遍愿。
VVeboTableViewDemo:VVebo剝離的TableView繪制,對TableView進行流暢度優(yōu)化存淫。
RETableViewManager:數(shù)據(jù)驅(qū)動tableView進行內(nèi)容管理。
TextView
SlackTextViewController:文本輸入視圖沼填,對于消息編輯非常有用桅咆,類似于微信發(fā)送消息的那個輸入框。
Menu
RESideMenu:左右側(cè)視圖視差效果menu,不過很久沒有commit了坞笙。
AwesomeMenu:Path2.0里面的menu效果岩饼。
Button
VBFPopFlatButton:使用pop做的不同狀態(tài)具有平緩過渡動畫效果的扁平化button。
BEMCheckBox:一款可自定義的具有非常nice動畫效果的checkbox羞海。
TextField
JVFloatLabeledTextField:編輯就會出現(xiàn)浮動的提示label忌愚,效果不錯。
Label
RQShineLabel:類似于Secret的文字閃爍動畫却邓。
Font硕糊、Color
FontAwesomeKit:字體框架,支持Font-Awesome、Foundation icons腊徙、Zocial简十、ionicons。
Chameleon:類似顏色板一樣撬腾,具有很多超贊的顏色可供直接使用螟蝙。
Colours:和Chameleon功能類似。
DKNightVersion:對顏色的管理民傻,融合了白天和黑夜的主題效果胰默。
Cell
SWTableViewCell:滑動Cell的內(nèi)容視圖,出現(xiàn)功能按鈕漓踢。(推薦)
MGSwipeTableCell:功能同上牵署。
UITableView-FDTemplateLayoutCell:sunnyxx寫的,自動計算cell動態(tài)高度喧半。
CoreText奴迅、AttributeText
DTCoreText:允許使用HTML代碼的Core Text框架。
YYText:非常強大的富文本顯示和編輯框架。(推薦)
Image
GPUImage:GPUImage 是iOS下一個開源的基于GPU的圖像處理庫,提供各種各樣的圖像處理濾鏡,并且支持照相機和攝像機的實時濾鏡。
圖片加載缤底、緩存
SDWebImage:異步圖片下載處理,支持緩存暇检,我相信大部分開發(fā)者都用過。
PINRemoteImage:對圖片下載婉称、加載占哟、緩存的管理心墅,線程安全且快速,對于網(wǎng)絡圖片具有很好的表現(xiàn)力榨乎。
Haneke:輕量的圖片緩存框架怎燥。
AsyncImageView:異步圖片處理的一個簡單Extension。
Concorde:下載和解碼JPEGs格式圖片蜜暑。
GIF
FLAnimatedImage:Gif引擎框架铐姚。
YLGIFImage:異步Gif解碼,播放Gif圖片肛捍,占用內(nèi)存少隐绵。
Camera、視頻
XCDYouTubeKit:YouTube視頻播放框架拙毫。
ZFPlayer:基于AVPlayer支持橫屏依许、豎屏的視頻播放器。
kxmovie:使用ffmpeg制作的一款視頻播放器缀蹄。
PBJVision:一款camera的引擎峭跳,支持錄屏、慢動作缺前、獲取圖片等特性蛀醉,且camera可自定義。
MWPhotoBrowser:一款優(yōu)雅的圖片衅码、視頻資源瀏覽器拯刁。
瀑布流
CHTCollectionViewWaterfallLayout:UICollectionView的瀑布流。
Objective-C與JS交互
JSPatch:JSPath充當Objective-C與
Javascript交互的橋梁逝段。
WebViewJavascriptBridge:Objective-C與
Javascript交互通信過程中垛玻,和JSPath一樣充當橋梁。
地圖奶躯、地理位置信息帚桩、LBS
LocationManager:非常容易獲取設備當前地理位置信息的框架。
ReactiveCocoa
ReactiveCocoa:簡稱RAC巫糙。
MVVMReactiveCocoa:使用ReactiveCocoa結(jié)合MVVM模式做的一個Demo。
Runtime
RuntimeBrowser:有關運行時操作的工具颊乘,你有權(quán)使用運行時所有的類参淹。
iOS-Runtime-Headers:使用RuntimeBrowser導出的iOSframework的頭文件。
Block
BlocksKit:對于使用Block來說更加方便乏悄、高效,不過好久沒有commit了浙值。
KVO
KVOController:facebook出品,它是一個簡單安全的 KVO工具,構(gòu)建了一個基于 Cocoa 的 time-tested key-value 監(jiān)控實現(xiàn)檩小,提供簡單方便开呐、線程安全的 API。
AOP、Method Swizzling
Aspects:一個簡潔高效的用于使iOS支持AOP面向切面編程的庫筐付。
路由器卵惦、Deep Link
JLRoutes:引入路由器的概念handle complex URL schemes、deep link(推薦)瓦戚。
DeepLinkKit沮尿、routable-ios、HHRouter:功能同上较解。
測試
Kiwi:iOS的BDD框架畜疾。
specta:輕量的TDD/BDD測試框架。
KIF:全稱是Keep It Functional,來自Square,是一款專為iOS設計的移動應用測試框架
日志
CocoaLumberjack:是Mac和iOS上一個集快捷印衔、簡單啡捶、強大和靈活于一身的日志框架。
工具奸焙、Xcode插件
工具
Alcatraz:Xcode插件管理神器瞎暑,當然還有些其他的包管理功能。
FLEX:一款很好的調(diào)試工具忿偷,同樣是Flipboard出品金顿。
PonyDebugger:原生app使用Chrome開發(fā)工具進行遠程的網(wǎng)路和數(shù)據(jù)debug。
xctool:facebook出品的取代Apple's xcodebuild,讓編譯和測試更簡單鲤桥。
Tweaks:facebook出品的快速原型開發(fā)工具揍拆,能在應用上實時調(diào)整參數(shù)并測試效果。
EarlGrey:google出品的UI自動測試工具茶凳。
GitUp:用于Git交互嫂拴。
插件
injectionforxcode:運行中的程序,然后在Xcode中動態(tài)插入代碼贮喧,你可以實時看到編譯器中的變動筒狠。
CATweaker:創(chuàng)建CAMediaTimingFunction曲線的一個幫助工具,該插件可以實時觀看你創(chuàng)建的曲線箱沦,而且可調(diào)整辩恼。
KSImageNamed-Xcode:自動callimageNamed:獲取圖片資源名字填充,且相應圖片在左側(cè)可見谓形。
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平臺上的視圖控制器集合腹侣,通過展現(xiàn)多個視圖控制器來進行控制器之間的切換,設置簡單,高度靈活齿穗。
nimbus:旨在落實Three20傲隶,但是提供文檔放在第一位,其次才是功能窃页。
Chameleon:就像是一個港口跺株,有iPhone、iPad脖卖、Mac幾個分支乒省,用于處理不同平臺。
iOS-Artwork-Extractor:可以把所有圖片和emoji符號提取出來畦木,并導入png文件袖扛。
Bolts-ObjC:集成多任務處理的,和GCD十籍、NSOperation的作用有點類似蛆封。
資料
iOSInterviewQuestions:ios面試題集錦。
open-source-ios-apps:關于iOS開發(fā)一些開源的資源集錦勾栗,涉及iOS開發(fā)的各個方面惨篱。
trip-to-iOS:iOS學習資料整理。