前言
Github眾所周知,全球最大的同性社區交友網站,在這里你可以獲取任何你想要的,只要你想,只要Ta有。
從事開發幾年在Github上Star了不少好的東西,當然學到了更多,在此深深的膜拜下那些開源的大神。
切入正題,下面對自己使用過或者Star過的第三方框架整理下,便于日后查閱,也方便他人借鑒,如果大家有什么好的庫推薦,歡迎在本文下方評論,本篇文章不定時更新...
戳這里----->已上傳Github at 2016.01.01
他人整理開源組件列表
awesome-ios<----點開有驚喜
Awesome-Swift-Education<----點開有驚喜
TimLiu-iOS<----點開有驚喜
iOS第三方庫列表<----點開有驚喜
iOS學習資源
- iOS9-day-by-day
- iOS8-day-by-day
- iOS9AdaptationTips iOS9適配
- iOS開發最佳實踐
- iOS學習資源 包括WWDC心得等
- SwiftGuide swift語言指南
- 中文版Apple官方Swift教程
- Git教程
- iOS開源APP列表
- iOS博客文章列表
- Design-Patterns-In-Swift
- awesome-swift
- iOS開發學習筆記 入門必看
- iOS學習筆記 推薦
- 動畫開源庫集合
- 蘋果官方Demo集合
蘋果AppStore被拒理由大全<----點開有驚喜
開源項目源碼
- PHPHub客戶端
- 仿寫知乎日報
- 高仿美團1
- 高仿美團2
- 高仿城覓
- SegmentFault客戶端
- Monkey
- 高仿網易
- 高仿豆瓣
- 碼農周刊
- Uber歡迎頁
- Tropos
- MVVM架構的計算器
- 網易新聞
- 簡閱
以下是簡閱涉及到的幾個關鍵技術,關鍵字列出來方便大家有針對性的看源代碼:
全屏滑動(CWStackController)
網頁抓取(TFHpple + XPath + NSRegularExpression)
夜間模式(UIAppearance + NSNotification)
離線閱讀(NSURLProtocol + NSURLCache + CWObjectCache + SQLite3)
視頻播放(HTML5 + JavaScript)
另外,開發期間恰逢 Swift 面世,所以里面也有少量 Swift 代碼
部分獨立組件
SCPullRefresh
方便自定義下拉刷新和上拉加載動畫
SCNavigation
自定義 Navigation (NavigationBar相關以及NavigationController)所有元素完全自定義,通過 Pan 手勢來完成類似 iOS7 的手勢返回效果 。SCWeiboManager
對微博官方 SDK 的 block 封裝。 更加易用,配置更簡單。
個人認為,多閱讀優秀的源碼,對自己的水平提升還是很有幫助的,三人行必有我師
APP相關
想要在App Store中獲得更多評論的最佳方式是什么?想要回答這個問題,我缺乏切實數據,但如果必須猜一下的話,我會建議問問用戶。也許這樣做有點老套——大多開發者現在都有創建定制的應用內置alert。但是如果你沒有時間,或者不想從頭實現的話,最好用一下iRata。這個就是iRata——一個小型庫——你可以把它放入項目中,把問卷調查什么的都忘記吧,iRate會在恰當的時候為你解決這個問題。
同樣是提醒用戶為APP評分
還是提醒用戶評分
提示版本更新
操作指引框架 Swift編寫
啟動導航界面,很方便的集成
啟動界面進入主畫面動畫
字體相關的庫,設置字體樣式
FontAwesomeKit 提供一些簡單的助手類用來幫助在 iOS 上使用 FontAwesome。
收集崩潰日志,用戶操作信息等,解決線上崩潰問題的神器
首次啟動APP的新手指引
用這個庫可以在詢問用戶前,就告知用戶所需的系統權限,為用戶帶來更好的體驗。接受度更高—>更多活躍用戶->更高的留存率->數據更好->下載率更高
swift下會動的啟動頁。
自動布局
自動布局
自動布局
Swift布局框架 在代碼中純手工創建約束灰常痛苦,但幸運的是我們有了SnapKit,在board中用上它,你可以簡單直觀地編寫約束了
網絡請求
網絡請求 應該不會沒人用過吧
Alamofire是一個簡潔的網絡庫,用Swift語言編寫。你是否曾經使用過AFNetworking呢?Alamofire是它的小弟。更年輕更時尚,當然(AFNetworking是用Objective-C編寫的)
無疑是目前封裝得最完善的Socket庫了:支持異步TCP/UDP,支持GCD,Objective-C接口封裝。。目前沒有發現可以與之相比的同類產品
對 Alamofire的封裝,很是強大
基礎工具類以及Category
一個不錯的工具包,提供各種比如編碼、加密、字符串處理等等東西,還提供了一些不錯的自定義控件,并且文檔非常齊全
國外的一個大神寫的很好用的分類,比較齊全
最近很火的YY大神,應該不用多介紹了吧
為基礎類提供Block支持,很好用
很強大的日期工具類
針對Foundation的擴展
很是全面的一個擴展 iOS中的各種Objective-C Category, a collection of useful Objective-C Categories extending iOS Frameworks such as Foundation,UIKit,CoreData,QuartzCore,CoreLocation,MapKit Etc.
簡單方便的緩存
webView 離線緩存庫 好用
拼音解析,很好用
解壓縮
Chameleon是一個iOS的色彩框架。它運用現代化flat color將UIColor擴展地非常美觀。我們還可以通過它運用自定義顏色創建調色板。它還有很多功用,請瀏覽readme。如果你想要應用美觀的話,一定要把這個庫加到項目里。
很方便集成的tabBarController框架
展示通知圖標
大神模仿谷歌做的iOS原生特效控件
彈出框
很好很強大的彈出框,多種樣式滿足你的需求
一個簡單的彈出菜單
很方便的彈出框
里脊串的彈出框
模態彈出框,拖入兩個文件就可以集成
比較強大
長按出現復制粘貼等工具view
酷炫的通知欄,多種通知樣式,使用簡單
動畫
和Masonry類似,對核心動畫進行了封裝,鏈式動畫,強烈推薦
很強大不解釋
轉場動畫庫,跟著源碼能學習到很多
默默的膜拜下大神,這個庫很多APP都有使用到
看看demo你就知道干啥的了
用于展示Gif
點擊按鈕過渡動畫,很贊
使動畫在簡單性、可鏈接性與聲明性方面有所提高。
含有當前主流的幾種動畫框架,可以學習下源碼
很多酷炫的加載動畫,可以借鑒一下
文本相關
- DTCoreText
- [M80AttributedLabel]
(https://github.com/xiangwangfeng/M80AttributedLabel/)
富文本demo
很強大的Label,使用人數較多
你曾經用過Slack iOS應用嗎?如果你在較大的軟件公司工作,也許會用過。對那些沒用過的人呢?—?Slack令人激動。用到Slack的應用也是這樣,尤其是用作極佳、定制的文本輸入控制時。這時你有了一個現成可用在應用中的代碼。自適應文本區域?試一下。手勢識別、自動填充、多媒體合并?試一下??焖賒rop-in解決方案?試一下。其他還想要什么?SlackTextViewController 可以替代 UITableViewController & UICollectionViewController。
展示HTML的label
- (Shimmer)[https://github.com/facebook/Shimmer]
Facebook出品
文本框會隨著輸入字數改變高度
效果非常炫的文本框
動效不錯,23333
為圖文混排提供了一個思路
便捷的為你的view 添加線條。。。。簡直福利啊
加載進度條
圓形加載進度條
webView 加載進度條 思路很好
MBProgressHUD 使用非常廣泛,網上很多基于ta的封裝
同上
和MBProgressHUD差不多
對MBProgressHUD的簡單封裝,比較實用
消息通知提醒框,好用
加載圖片
pinterest 出品 效果不錯
使用最為廣泛的加載圖片第三方庫
swift版本的SDWebImage
鍵盤類
IQKeyboardManager 有swift版本了。。。。
常用的UI聊天文本輸入框封裝
抽屜
ViewDeck 非常強大 可能需要根據自己的實際業務需求做出相應的改造
沒用過 聽說過
貌似不錯
安裝簡便,高度定制且對手勢識別良好。可以當做一個標準控件用在iOS SDK中。
NavigationBar
swift語言編寫 上下滑動時動態隱藏標題欄
導航欄顏色動態改變
Navigation的擴展,強烈推薦
ScrollView相關
nicklockwood 大神出品
自定義cell側滑
這是另一個常見于很多應用中的UI組件,蘋果應該考慮在標準的iOS SDK中加入一些類似的內容。Swipeable表格cell是這個pod的最佳描述,也是最好的。
瀑布流學習demo
很方便的集成全屏返回上一層界面
一款日歷控件,可以看看
DZNEmptyDataSet UITableView/UICollectionView 超類,當視圖沒有內容的時候用來展示空數據集。DXNEmptyDataSet 能自動工作,只需要確認 DZNEmptyDataSetSource 和用戶需要返回的數據。
WMPageController
是一個方便形成如同網易新聞首頁,控制器滑動翻頁效果的控制器
多種樣式的界面復用
MJ系列
json解析框架
刷新控件 MJ大神出品
Json解析
swift下模型解析
.類反射
[](https://github.com/CharlinFeng/Reflect/blob/master/README_CN.md#一鍵字典轉模型).一鍵字典轉模型
[](https://github.com/CharlinFeng/Reflect/blob/master/README_CN.md#一鍵模型轉字典).一鍵模型轉字典
[](https://github.com/CharlinFeng/Reflect/blob/master/README_CN.md#一鍵plist轉模型).一鍵plist轉模型
[](https://github.com/CharlinFeng/Reflect/blob/master/README_CN.md#一鍵歸檔).一鍵歸檔
數據庫
據說很強大,還沒用過,有時間研究下
基本項目中使用的都是這個,支持多線程操作,不錯
圖表庫
各種各樣的圖表
iOS圖表庫!非常有用而且美觀
一款實用的下拉列表
框架相關
ReactiveCocoa(簡稱為RAC
),是由Github開源的一個應用于iOS和OS開發的新框架,Cocoa是蘋果整套框架的簡稱,因此很多蘋果框架喜歡以Cocoa結尾。在我們iOS開發過程中,經常會響應某些事件來處理某些業務邏輯,例如按鈕的點擊,上下拉刷新,網絡請求,屬性的變化(通過KVO)或者用戶位置的變化(通過CoreLocation)。但是這些事件都用不同的方式來處理,比如action、delegate、KVO、callback等。
其實這些事件,都可以通過RAC處理,ReactiveCocoa為事件提供了很多處理方法,而且利用RAC處理事件很方便,可以把要處理的事情,和監聽的事情的代碼放在一起,這樣非常方便我們管理,就不需要跳到對應的方法里。非常符合我們開發中高聚合,低耦合的思想。
使用JavaScript調用任何Objective-C的原生接口,獲得腳本語言的能力:動態更新APP,替換項目原生代碼修復bug
nimbus iOS框架 three20停止更新后的替代品
BeeFramework是一款iOS平臺的MVC應用快速開發框架,使用Objective-C開發。 其早期原型曾經被應用在QQ空間 、QQ游戲大廳 等多款精品APP中。 BeeFramework 從根本上解決了iOS開發者長期困擾的各種問題,諸如:分層架構如何設計,層與層之間消息傳遞與處理,網絡操作及緩存,異步及多線程,以及適配產品多變的UI布局需求。
如果你需要JS和原生交互,那么就使用他吧
一個用來統一管理導航欄轉場以及當 push 或者 pop 的時候使動畫效果更加順滑的通用庫,并且同時支持豎屏和橫屏。你不用為這個庫寫一行代碼,所有的改變都悄然發生。
圖片處理以及展示相關
GPUImage是一個基于GPU圖像和視頻處理的開源iOS框架,提供各種各樣的圖像處理濾鏡,并且支持照相機和攝像機的實時濾鏡; 基于GPU的圖像加速,因此可以加速對實時攝像頭視頻、電影以及image的濾鏡和其它效果處理,并且能夠自定義圖像濾鏡。另外, GPUImage支持ARC
背景模糊
-MSSBrowse
模仿微信圖片點擊放大效果,很棒
圖片瀏覽器,非常好用
相冊選擇
類似微信的圖片選擇器
效果不錯的
swift下圖片處理庫
音頻/視頻
36氪開源的視頻播放器
豆瓣開源 DOUAudioStreamer 是 iOS 和 Mac 的基于核心音頻的流媒體音頻播放器。
效率很高、所占內存很小的在線流媒體(Audio Stream)播放引擎,支持 ShoutCast 和 IceCast 流媒體協議,以及可以暫停和恢復播放。具體具備以下特色:1. 效率很高,占用內存很?。m然是核心代碼是C ,但是OBJ調用沒有額外性能消耗);2. 支持 ShoutCast 和 IceCast 流媒體協議,以及標準的 HTTP 傳輸協議;3. 可以檢測流媒體的格式;4. 支持 ShoutCast metadata5. 支持暫停和恢復流媒體播放;6. 支持背景播放;7. 支持 ID3v2;8. 支持 Podcast RSS feeds
PHPHub開源播放器,默默點個贊
可定制性比較高的播放器
內購/推廣
應用內付費給我們提供了很多樣本代碼,而這個庫丟掉了那些代碼,將金錢交易相關的大多通用任務做了簡單的封裝。
應用推廣界面,填寫合作app的appleId即可
交叉推廣應用是你可以免費實現的最佳市場推廣策略之一。使用這個庫做起來非常簡單,不用都不可能——將TAPromotee加入你的podfile中,免費配置與享受更多下載吧。
IM相關
用于聊天App顯示消息的頁面,可以發送文本、聲音、圖片、視頻等消息(不過目前的Demo似乎僅支持輸入文本)。界面模仿微信App。
很強大的消息界面UI庫
存儲相關
便捷的使用keyChain存儲用戶名密碼等
Tip
學習的路上總是曲折的,每個人都是從菜鳥過來的,遇到問題總是希望能夠與他人溝通交流,而在各種群里問了問題就石沉大海,所以想建一個技術交流為主的群,遇到的問題可以記錄下來分享給他人,方便了自己,也造就了他人,不管怎樣,記錄點滴,但愿與君共勉
*QQ群號:527377492 *