本文轉(zhuǎn)自:http://www.reibang.com/p/b7c4a787a597 僅供學(xué)習(xí)
前言
Github眾所周知崎脉,全球最大的同性社區(qū)交友網(wǎng)站,在這里你可以獲取任何你想要的伯顶,只要你想囚灼,只要Ta有。從事開發(fā)幾年在Github上Star了不少好的東西祭衩,當(dāng)然學(xué)到了更多灶体,在此深深的膜拜下那些開源的大神。切入正題掐暮,下面對(duì)自己使用過(guò)或者Star過(guò)的第三方框架整理下蝎抽,便于日后查閱,也方便他人借鑒路克,如果大家有什么好的庫(kù)推薦樟结,歡迎在本文下方評(píng)論,本篇文章不定時(shí)更新...
戳這里----->已上傳Github at 2016.01.01
他人整理開源組件列表
awesome-ios<----點(diǎn)開有驚喜
Awesome-Swift-Education<----點(diǎn)開有驚喜
TimLiu-iOS<----點(diǎn)開有驚喜
iOS第三方庫(kù)列表<----點(diǎn)開有驚喜
iOS學(xué)習(xí)資源
iOS9-day-by-day
iOS8-day-by-day
iOS9AdaptationTips iOS9適配
iOS開發(fā)最佳實(shí)踐
iOS學(xué)習(xí)資源 包括WWDC心得等
SwiftGuide swift語(yǔ)言指南
中文版Apple官方Swift教程
Git教程
iOS開源APP列表
iOS博客文章列表
Design-Patterns-In-Swift
awesome-swift
iOS開發(fā)學(xué)習(xí)筆記 入門必看
iOS學(xué)習(xí)筆記 推薦
動(dòng)畫開源庫(kù)集合
蘋果官方Demo集合
蘋果AppStore被拒理由大全<----點(diǎn)開有驚喜
開源項(xiàng)目源碼
PHPHub客戶端
仿寫知乎日?qǐng)?bào)
高仿美團(tuán)1
高仿美團(tuán)2
高仿城覓
SegmentFault客戶端
Monkey
高仿網(wǎng)易
高仿豆瓣
碼農(nóng)周刊
Uber歡迎頁(yè)
Tropos
MVVM架構(gòu)的計(jì)算器
網(wǎng)易新聞
簡(jiǎn)閱以下是簡(jiǎn)閱涉及到的幾個(gè)關(guān)鍵技術(shù)精算,關(guān)鍵字列出來(lái)方便大家有針對(duì)性的看源代碼:全屏滑動(dòng)(CWStackController)網(wǎng)頁(yè)抓取(TFHpple + XPath + NSRegularExpression)夜間模式(UIAppearance + NSNotification)離線閱讀(NSURLProtocol + NSURLCache + CWObjectCache + SQLite3)視頻播放(HTML5 + JavaScript)另外瓢宦,開發(fā)期間恰逢 Swift 面世,所以里面也有少量 Swift 代碼
VVeboTableViewDemo 列表優(yōu)化
ECMobile 手機(jī)商城
閱讀器
高仿下廚房
v2ex 客戶端部分獨(dú)立組件SCPullRefresh方便自定義下拉刷新和上拉加載動(dòng)畫SCNavigation自定義 Navigation (NavigationBar相關(guān)以及NavigationController)所有元素完全自定義灰羽,通過(guò) Pan 手勢(shì)來(lái)完成類似 iOS7 的手勢(shì)返回效果 驮履。SCWeiboManager對(duì)微博官方 SDK 的 block 封裝。 更加易用廉嚼,配置更簡(jiǎn)單玫镐。
watch開源項(xiàng)目
熱門標(biāo)簽
swift 天氣
模仿微信二維碼掃描
新聞?lì)恆pp 集成夜間模式/數(shù)據(jù)抓取
個(gè)人認(rèn)為,多閱讀優(yōu)秀的源碼前鹅,對(duì)自己的水平提升還是很有幫助的摘悴,三人行必有我?guī)?br>
APP相關(guān)
iRate 想要在App Store中獲得更多評(píng)論的最佳方式是什么?想要回答這個(gè)問題舰绘,我缺乏切實(shí)數(shù)據(jù)蹂喻,但如果必須猜一下的話,我會(huì)建議問問用戶捂寿。也許這樣做有點(diǎn)老套——大多開發(fā)者現(xiàn)在都有創(chuàng)建定制的應(yīng)用內(nèi)置alert口四。但是如果你沒有時(shí)間,或者不想從頭實(shí)現(xiàn)的話秦陋,最好用一下iRata蔓彩。這個(gè)就是iRata——一個(gè)小型庫(kù)——你可以把它放入項(xiàng)目中,把問卷調(diào)查什么的都忘記吧,iRate會(huì)在恰當(dāng)?shù)臅r(shí)候?yàn)槟憬鉀Q這個(gè)問題赤嚼。
appirate同樣是提醒用戶為APP評(píng)分
UAAppReviewManager還是提醒用戶評(píng)分
iVersion 提示版本更新
Instructions 操作指引框架 Swift編寫
Onboard啟動(dòng)導(dǎo)航界面旷赖,很方便的集成
CoreLaunch啟動(dòng)界面進(jìn)入主畫面動(dòng)畫
BonMot字體相關(guān)的庫(kù),設(shè)置字體樣式
FontAwesomeKitFontAwesomeKit 提供一些簡(jiǎn)單的助手類用來(lái)幫助在 iOS 上使用 FontAwesome更卒。
Bugtags收集崩潰日志等孵,用戶操作信息等,解決線上崩潰問題的神器
JMHoledView首次啟動(dòng)APP的新手指引
PermissionScope用這個(gè)庫(kù)可以在詢問用戶前蹂空,就告知用戶所需的系統(tǒng)權(quán)限俯萌,為用戶帶來(lái)更好的體驗(yàn)。接受度更高—>更多活躍用戶->更高的留存率->數(shù)據(jù)更好->下載率更高
Presentationswift下會(huì)動(dòng)的啟動(dòng)頁(yè)上枕。
自動(dòng)布局
Masonry 自動(dòng)布局
PureLayout 自動(dòng)布局
SnapKitSwift布局框架 在代碼中純手工創(chuàng)建約束灰常痛苦咐熙,但幸運(yùn)的是我們有了SnapKit,在board中用上它辨萍,你可以簡(jiǎn)單直觀地編寫約束了
網(wǎng)絡(luò)請(qǐng)求
AFNetworking 網(wǎng)絡(luò)請(qǐng)求 應(yīng)該不會(huì)沒人用過(guò)吧
Alamofire Alamofire是一個(gè)簡(jiǎn)潔的網(wǎng)絡(luò)庫(kù)棋恼,用Swift語(yǔ)言編寫。你是否曾經(jīng)使用過(guò)AFNetworking呢锈玉?Alamofire是它的小弟蘸泻。更年輕更時(shí)尚,當(dāng)然(AFNetworking是用Objective-C編寫的)
CocoaAsyncSocket無(wú)疑是目前封裝得最完善的Socket庫(kù)了:支持異步TCP/UDP嘲玫,支持GCD,Objective-C接口封裝并扇。去团。目前沒有發(fā)現(xiàn)可以與之相比的同類產(chǎn)品
RxAlamofire對(duì) Alamofire的封裝,很是強(qiáng)大
基礎(chǔ)工具類以及Category
sstoolkit一個(gè)不錯(cuò)的工具包穷蛹,提供各種比如編碼土陪、加密、字符串處理等等東西肴熏,還提供了一些不錯(cuò)的自定義控件鬼雀,并且文檔非常齊全
BFKit OC版本
BFKit Swift版本國(guó)外的一個(gè)大神寫的很好用的分類,比較齊全
YYKit最近很火的YY大神蛙吏,應(yīng)該不用多介紹了吧
BlocksKit為基礎(chǔ)類提供Block支持源哩,很好用
DateTools很強(qiáng)大的日期工具類
FlatUIKit針對(duì)Foundation的擴(kuò)展
iOS-Categories很是全面的一個(gè)擴(kuò)展 iOS中的各種Objective-C Category, a collection of useful Objective-C Categories extending iOS Frameworks such as Foundation,UIKit,CoreData,QuartzCore,CoreLocation,MapKit Etc.
RENCache簡(jiǎn)單方便的緩存
RNCachingURLProtocolwebView 離線緩存庫(kù) 好用
PinYin4Objc拼音解析,很好用
ZipArchive解壓縮
ChameleonChameleon是一個(gè)iOS的色彩框架鸦做。它運(yùn)用現(xiàn)代化flat color將UIColor擴(kuò)展地非常美觀励烦。我們還可以通過(guò)它運(yùn)用自定義顏色創(chuàng)建調(diào)色板。它還有很多功用泼诱,請(qǐng)瀏覽readme坛掠。如果你想要應(yīng)用美觀的話,一定要把這個(gè)庫(kù)加到項(xiàng)目里。
CYLTabBarController很方便集成的tabBarController框架
RKNotificationHub展示通知圖標(biāo)
Material-Controls-For-iOS大神模仿谷歌做的iOS原生特效控件
彈出框
TYAlertController很好很強(qiáng)大的彈出框屉栓,多種樣式滿足你的需求
JKPopMenuView一個(gè)簡(jiǎn)單的彈出菜單
STPopup很方便的彈出框
MMPopupView里脊串的彈出框
KGModal模態(tài)彈出框,拖入兩個(gè)文件就可以集成
NYAlertViewController比較強(qiáng)大
MJPopupViewController
QBPopupMenu長(zhǎng)按出現(xiàn)復(fù)制粘貼等工具view
CWStatusBarNotification酷炫的通知欄舷蒲,多種通知樣式,使用簡(jiǎn)單
動(dòng)畫
JHChainableAnimations和Masonry類似友多,對(duì)核心動(dòng)畫進(jìn)行了封裝牲平,鏈?zhǔn)絼?dòng)畫,強(qiáng)烈推薦
Canvas很強(qiáng)大不解釋
VCTransitionsLibrary轉(zhuǎn)場(chǎng)動(dòng)畫庫(kù)夷陋,跟著源碼能學(xué)習(xí)到很多
iCarousel默默的膜拜下大神欠拾,這個(gè)庫(kù)很多APP都有使用到
tapkulibrary看看demo你就知道干啥的了
YLGIFImage用于展示Gif
TBIconTransitionKit點(diǎn)擊按鈕過(guò)渡動(dòng)畫,很贊
Spring使動(dòng)畫在簡(jiǎn)單性骗绕、可鏈接性與聲明性方面有所提高谅将。
awesome-ios-animation含有當(dāng)前主流的幾種動(dòng)畫框架不撑,可以學(xué)習(xí)下源碼
FeSpinner很多酷炫的加載動(dòng)畫,可以借鑒一下
文本相關(guān)
DTCoreText
M80AttributedLabel富文本demo
TTTAttributedLabel很強(qiáng)大的Label,使用人數(shù)較多
SlackTextViewController你曾經(jīng)用過(guò)Slack iOS應(yīng)用嗎?如果你在較大的軟件公司工作禁灼,也許會(huì)用過(guò)。對(duì)那些沒用過(guò)的人呢劫扒?—?Slack令人激動(dòng)令蛉。用到Slack的應(yīng)用也是這樣,尤其是用作極佳屈呕、定制的文本輸入控制時(shí)微宝。這時(shí)你有了一個(gè)現(xiàn)成可用在應(yīng)用中的代碼。自適應(yīng)文本區(qū)域虎眨?試一下蟋软。手勢(shì)識(shí)別、自動(dòng)填充嗽桩、多媒體合并岳守?試一下÷狄保快速drop-in解決方案湿痢?試一下。其他還想要什么扑庞?SlackTextViewController 可以替代 UITableViewController & UICollectionViewController譬重。
RTLabel展示HTML的label
(Shimmer)[https://github.com/facebook/Shimmer]Facebook出品
CSGrowingTextView文本框會(huì)隨著輸入字?jǐn)?shù)改變高度
LTMorphingLabel效果非常炫的文本框
TextFieldEffects動(dòng)效不錯(cuò),23333
DDRichText為圖文混排提供了一個(gè)思路
BMLine便捷的為你的view 添加線條罐氨。害幅。。岂昭。簡(jiǎn)直福利啊
加載進(jìn)度條
DACircularProgress圓形加載進(jìn)度條
NJKWebViewProgresswebView 加載進(jìn)度條 思路很好
MBProgressHUDMBProgressHUD 使用非常廣泛以现,網(wǎng)上很多基于ta的封裝
Toast和MBProgressHUD差不多
LCProgressHUD對(duì)MBProgressHUD的簡(jiǎn)單封裝狠怨,比較實(shí)用
TSMessages消息通知提醒框,好用加載圖片
PINRemoteImagepinterest 出品 效果不錯(cuò)
SDWebImage使用最為廣泛的加載圖片第三方庫(kù)
AlamofireImageswift版本的SDWebImage
鍵盤類
DAKeyboardControl
IQKeyboardManagerIQKeyboardManager 有swift版本了邑遏。佣赖。。记盒。
TPKeyboardAvoiding
RDRStickyKeyboardView常用的UI聊天文本輸入框封裝
抽屜
ViewDeckViewDeck 非常強(qiáng)大 可能需要根據(jù)自己的實(shí)際業(yè)務(wù)需求做出相應(yīng)的改造
MMDrawerController沒用過(guò) 聽說(shuō)過(guò)
SWRevealViewController貌似不錯(cuò)
MSDynamicsDrawerViewController
PKRevealController安裝簡(jiǎn)便憎蛤,高度定制且對(duì)手勢(shì)識(shí)別良好〖退保可以當(dāng)做一個(gè)標(biāo)準(zhǔn)控件用在iOS SDK中俩檬。
NavigationBar
AMScrollingNavbarswift語(yǔ)言編寫 上下滑動(dòng)時(shí)動(dòng)態(tài)隱藏標(biāo)題欄
LTNavigationbar導(dǎo)航欄顏色動(dòng)態(tài)改變
JZNavigationExtensionNavigation的擴(kuò)展,強(qiáng)烈推薦
ScrollView相關(guān)
SwipeViewnicklockwood 大神出品
SWTableViewCell自定義cell側(cè)滑
MGSwipeTableCell這是另一個(gè)常見于很多應(yīng)用中的UI組件碾盟,蘋果應(yīng)該考慮在標(biāo)準(zhǔn)的iOS SDK中加入一些類似的內(nèi)容棚辽。Swipeable表格cell是這個(gè)pod的最佳描述,也是最好的冰肴。
CHTCollectionViewWaterfallLayout瀑布流學(xué)習(xí)demo
FDFullscreenPopGesture很方便的集成全屏返回上一層界面
PDTSimpleCalendar一款日歷控件屈藐,可以看看
DZNEmptyDataSetDZNEmptyDataSet UITableView/UICollectionView 超類,當(dāng)視圖沒有內(nèi)容的時(shí)候用來(lái)展示空數(shù)據(jù)集熙尉。DXNEmptyDataSet 能自動(dòng)工作联逻,只需要確認(rèn) DZNEmptyDataSetSource 和用戶需要返回的數(shù)據(jù)。
WMPageControllerWMPageController是一個(gè)方便形成如同網(wǎng)易新聞首頁(yè)检痰,控制器滑動(dòng)翻頁(yè)效果的控制器
TYSlidePageScrollView多種樣式的界面復(fù)用
MJ系列
MJExtensionjson解析框架
MJRefresh刷新控件 MJ大神出品
Json解析
Reflectswift下模型解析
.類反射.一鍵字典轉(zhuǎn)模型.一鍵模型轉(zhuǎn)字典.一鍵plist轉(zhuǎn)模型.一鍵歸檔
數(shù)據(jù)庫(kù)
realm據(jù)說(shuō)很強(qiáng)大包归,還沒用過(guò),有時(shí)間研究下
fmdb基本項(xiàng)目中使用的都是這個(gè)铅歼,支持多線程操作箫踩,不錯(cuò)
圖表庫(kù)
PNChart各種各樣的圖表
ios-chartsiOS圖表庫(kù)!非常有用而且美觀
DOPDropDownMenu一款實(shí)用的下拉列表
框架相關(guān)
ReactiveCocoa
ReactiveCocoa(簡(jiǎn)稱為RAC),是由Github開源的一個(gè)應(yīng)用于iOS和OS開發(fā)的新框架,Cocoa是蘋果整套框架的簡(jiǎn)稱谭贪,因此很多蘋果框架喜歡以Cocoa結(jié)尾。在我們iOS開發(fā)過(guò)程中锦担,經(jīng)常會(huì)響應(yīng)某些事件來(lái)處理某些業(yè)務(wù)邏輯俭识,例如按鈕的點(diǎn)擊,上下拉刷新洞渔,網(wǎng)絡(luò)請(qǐng)求套媚,屬性的變化(通過(guò)KVO)或者用戶位置的變化(通過(guò)CoreLocation)。但是這些事件都用不同的方式來(lái)處理磁椒,比如action堤瘤、delegate、KVO浆熔、callback等本辐。其實(shí)這些事件,都可以通過(guò)RAC處理,ReactiveCocoa為事件提供了很多處理方法慎皱,而且利用RAC處理事件很方便老虫,可以把要處理的事情,和監(jiān)聽的事情的代碼放在一起茫多,這樣非常方便我們管理祈匙,就不需要跳到對(duì)應(yīng)的方法里。非常符合我們開發(fā)中高聚合天揖,低耦合的思想夺欲。
JSPatch
使用JavaScript調(diào)用任何Objective-C的原生接口,獲得腳本語(yǔ)言的能力:動(dòng)態(tài)更新APP今膊,替換項(xiàng)目原生代碼修復(fù)bug
nimbus
nimbus iOS框架 three20停止更新后的替代品
BeeFramework是一款iOS平臺(tái)的MVC應(yīng)用快速開發(fā)框架些阅,使用Objective-C開發(fā)。 其早期原型曾經(jīng)被應(yīng)用在QQ空間 万细、QQ游戲大廳 等多款精品APP中扑眉。 BeeFramework 從根本上解決了iOS開發(fā)者長(zhǎng)期困擾的各種問題,諸如:分層架構(gòu)如何設(shè)計(jì)赖钞,層與層之間消息傳遞與處理腰素,網(wǎng)絡(luò)操作及緩存,異步及多線程雪营,以及適配產(chǎn)品多變的UI布局需求弓千。
WebViewJavascriptBridge
如果你需要JS和原生交互,那么就使用他吧
圖片處理以及展示相關(guān)
GPUImageGPUImage是一個(gè)基于GPU圖像和視頻處理的開源iOS框架献起,提供各種各樣的圖像處理濾鏡洋访,并且支持照相機(jī)和攝像機(jī)的實(shí)時(shí)濾鏡; 基于GPU的圖像加速谴餐,因此可以加速對(duì)實(shí)時(shí)攝像頭視頻姻政、電影以及image的濾鏡和其它效果處理,并且能夠自定義圖像濾鏡岂嗓。另外汁展, GPUImage支持ARC
FXBlurView背景模糊
IDMPhotoBrowser圖片瀏覽器,非常好用
AGImagePickerController相冊(cè)選擇
DNImagePicker類似微信的圖片選擇器
JFImagePickerController效果不錯(cuò)的
Nukeswift下圖片處理庫(kù)
音頻/視頻
KRVideoPlayer36氪開源的視頻播放器
DOUAudioStreamer豆瓣開源 DOUAudioStreamer 是 iOS 和 Mac 的基于核心音頻的流媒體音頻播放器厌殉。
FreeStreamer效率很高食绿、所占內(nèi)存很小的在線流媒體(Audio Stream)播放引擎,支持 ShoutCast 和 IceCast 流媒體協(xié)議公罕,以及可以暫停和恢復(fù)播放器紧。具體具備以下特色:1. 效率很高,占用內(nèi)存很新ゾ臁(雖然是核心代碼是C 铲汪,但是OBJ調(diào)用沒有額外性能消耗)熊尉;2. 支持 ShoutCast 和 IceCast 流媒體協(xié)議,以及標(biāo)準(zhǔn)的 HTTP 傳輸協(xié)議桥状;3. 可以檢測(cè)流媒體的格式帽揪;4. 支持 ShoutCast metadata5. 支持暫停和恢復(fù)流媒體播放;6. 支持背景播放辅斟;7. 支持 ID3v2转晰;8. 支持 Podcast RSS feeds
ESTMusicPlayerPHPHub開源播放器,默默點(diǎn)個(gè)贊
VKVideoPlayer可定制性比較高的播放器
內(nèi)購(gòu)/推廣
IAPHelper應(yīng)用內(nèi)付費(fèi)給我們提供了很多樣本代碼士飒,而這個(gè)庫(kù)丟掉了那些代碼查邢,將金錢交易相關(guān)的大多通用任務(wù)做了簡(jiǎn)單的封裝。
DAAppsViewController應(yīng)用推廣界面酵幕,填寫合作app的appleId即可
TAPromotee交叉推廣應(yīng)用是你可以免費(fèi)實(shí)現(xiàn)的最佳市場(chǎng)推廣策略之一扰藕。使用這個(gè)庫(kù)做起來(lái)非常簡(jiǎn)單,不用都不可能——將TAPromotee加入你的podfile中芳撒,免費(fèi)配置與享受更多下載吧邓深。
IM相關(guān)
MessageDisplayKit用于聊天App顯示消息的頁(yè)面,可以發(fā)送文本笔刹、聲音芥备、圖片、視頻等消息(不過(guò)目前的Demo似乎僅支持輸入文本)舌菜。界面模仿微信App萌壳。
JSQMessagesViewController很強(qiáng)大的消息界面UI庫(kù)
存儲(chǔ)相關(guān)
sskeychain便捷的使用keyChain存儲(chǔ)用戶名密碼等
Tip
學(xué)習(xí)的路上總是曲折的,每個(gè)人都是從菜鳥過(guò)來(lái)的日月,遇到問題總是希望能夠與他人溝通交流袱瓮,而在各種群里問了問題就石沉大海,所以想建一個(gè)技術(shù)交流為主的群爱咬,遇到的問題可以記錄下來(lái)分享給他人尺借,方便了自己,也造就了他人精拟,不管怎樣燎斩,記錄點(diǎn)滴,但愿與君共勉