33 款主宰 2017 iOS 開發(fā)的開源庫

【轉(zhuǎn)】原文鏈接

1.IGListKit

由 Instagram 開發(fā)人員制作静浴,IGListKit 是用于構(gòu)建快速靈活列表的數(shù)據(jù)驅(qū)動(dòng)型的 UICollectionView 框架堰氓。此外,它可以幫助你在應(yīng)用程序中避免大量使用視圖控制器的情況苹享∷酰可查看Ray Wenderlich上的關(guān)于在你的項(xiàng)目中實(shí)現(xiàn)該庫的教程浴麻,或者從Rodrigo Cavalcante中看看關(guān)于將現(xiàn)有的 UITableView 遷移到 IGListCollectionView 的方法。

2.Realm

Realm是一款移動(dòng)數(shù)據(jù)庫囤攀,可直接運(yùn)行在手機(jī)软免、平板電腦和可穿戴設(shè)備中,它不僅適用于 iOS焚挠。如果你想嘗試與 Core Data 不同的東西膏萧,可以試試使用 Realm 。許多人說蝌衔,它是一種現(xiàn)代化的榛泛、高效率的用于原生蘋果解決方案的替代物。

3.Moya

Moya 是你的應(yīng)用程序所缺少的網(wǎng)絡(luò)層噩斟。你不用思考將網(wǎng)絡(luò)請求放到哪里(以及如何放)曹锨,Moya 會(huì)幫你處理這些問題。

4.SwiftyJSON

Swift 中的 JSON 解析之王剃允。

將下面內(nèi)容:

ifletstatusesArray?=try??JSONSerialization.jsonObject(with:?data,?options:?.allowFragments)?as??[[String:?Any]],letuser?=?statusesArray[0]["user"]?as??[String:?Any],letusername?=?user["name"]?as?String{//?Finally?we?got?the?username}

轉(zhuǎn)換為這種格式:

let?json?=?JSON(data:?dataFromNetworking)if?let?userName?=?json[0]["user"]["name"].string?{??//?Now?you?got?your?value}

可選封裝會(huì)自動(dòng)為你完成沛简。

5.Valet

Valet 可以幫助你實(shí)現(xiàn)將數(shù)據(jù)安全地存儲(chǔ)在 iOS 或 OS X Keychain 中,而無需了解任何 Keychain 相關(guān)的工作原理硅急。它支持在單個(gè)設(shè)備上的多個(gè)應(yīng)用程序(同一開發(fā)者)之間共享數(shù)據(jù)覆享,并在具有 iCloud 的設(shè)備上的實(shí)現(xiàn)跨設(shè)備的數(shù)據(jù)共享。它還支持 Touch ID 营袜。

6.Firebase Analytics

它(由 Google 出品)可能是 iOS 上最好的免費(fèi)分析解決方案撒顿。包括跟蹤應(yīng)用程序使用量、用戶活躍度荚板,以及事件凤壁;設(shè)置用戶屬性;創(chuàng)建自定義受眾跪另;和一些其他功能拧抖。

7.AsyncDisplayKit

Facebook 為他們的 app?Paper創(chuàng)造了這個(gè)異步 UI SDK。如果你想讓你的 app 總是每秒用 60 幀的速度來渲染免绿,一定要看看這個(gè)庫唧席。這兒有一篇來自 Buffer 團(tuán)隊(duì)的故事

8.DZNEmptyDataSet

通常用戶安裝一個(gè) APP 后嘲驾,會(huì)看到一個(gè)空的 UITableView 淌哟。DZNEmptyDataSet 可以通過提供默認(rèn)的Empty Data Set Pattern的實(shí)現(xiàn)來回避這個(gè)問題。

9.Chameleon

Chameleon 是一個(gè)輕量卻功能強(qiáng)大的 iOS 顏色框架軟件辽故。它基于的理念是:軟件應(yīng)用程序應(yīng)該可以不費(fèi)力氣且同時(shí)保持多個(gè)漂亮的界面徒仓。

使用 Chameleon ,你不再需要調(diào)配 RGB 值誊垢,不用浪費(fèi)時(shí)間去找你的 APP 合適的顏色組合掉弛,也不用擔(dān)心你 APP 的文字是否能在不同背景色上可讀症见。

10.PermissionScope

PermissionScope 是一個(gè)用于智能請求用戶權(quán)限的 Swift 框架。 它不僅包含一個(gè)簡單的用戶界面來請求權(quán)限殃饿,還包含一個(gè)統(tǒng)一的許可 API 谋作,可以告訴你任何指定的系統(tǒng)權(quán)限的狀態(tài)或輕松地對(duì)它們發(fā)起請求。

11.FileKit

FileKit 是一個(gè) Swift 框架壁晒,提供簡單而富有表現(xiàn)力的文件管理瓷们。點(diǎn)此查看使用示例

12.SwiftyUserDefaults

SwiftyUserDefaults 讓 user defaults 用起來很愉悅,通過結(jié)合極具表現(xiàn)力的 Swifty API 和靜態(tài)輸入的優(yōu)勢秒咐。在一個(gè)地方定義鍵捡鱼,輕松地使用值類型蝉衣,并免費(fèi)獲得額外的安全性和方便的編譯時(shí)檢查。

Kingfisher 是一款輕量級(jí)的純 Swift 庫柠贤,用于從 Web 上異步下載和緩存圖像帮孔。

特性

異步圖像下載和緩存

基于 URLSession 的網(wǎng)絡(luò)雷滋。提供基本圖像處理器和濾鏡。

用于內(nèi)存和磁盤的多層緩存文兢。

可取消下載和任務(wù)處理以提高性能晤斩。

組件獨(dú)立∧芳幔可按需分別使用下載器或緩存系統(tǒng)澳泵。

預(yù)先獲取圖像并在必要時(shí)將其從緩存中顯示出來。

包含 UIImageView兼呵、NSImage和UIButton擴(kuò)展兔辅,可直接從 URL 設(shè)置圖像。

設(shè)置圖像時(shí)可內(nèi)置過渡動(dòng)畫击喂。

可擴(kuò)展的圖像處理和圖像格式支持维苔。

14.Hero

Hero 是構(gòu)建 iOS 視圖控制器過渡動(dòng)畫的庫。它在 UIKit 繁瑣的過渡動(dòng)畫 API 之上提供了一個(gè)層懂昂,使得自定義過渡動(dòng)畫對(duì)于開發(fā)人員來說是一個(gè)輕松的任務(wù)介时。

15.Hedwig

Hedwig 是一個(gè) Swift 包,提供一組高級(jí) API凌彬,可以讓你輕松地發(fā)送電子郵件到 SMTP 服務(wù)器沸柔。如果你打算在下一個(gè)神奇的 Swift 服務(wù)器應(yīng)用里發(fā)送電子郵件,Hedwig 可能是一個(gè)不錯(cuò)的選擇饿序。

特性

支持通過普通勉失、SSL 或 TLS(STARTTLS)端口連接到所有的 SMTP 服務(wù)器。

支持使用 PLAIN原探、CRAM-MD5乱凿、LOGIN 或 XOAUTH2 進(jìn)行認(rèn)證顽素。

支持使用 HTML 正文和附件發(fā)送電子郵件。

支持自定義驗(yàn)證方法和郵件標(biāo)題徒蟆,以跟蹤你的郵件活動(dòng)胁出。

支持郵件按序發(fā)送,甚至可以同時(shí)發(fā)送郵件段审。

支持 Swift Package Manager全蝶。

完善的測試和文檔

16.DeviceKit

DeviceKit 是 UIDevice 的值類型替換寺枉∫忠可輕松獲取設(shè)備的信息和電池電量。

特性

設(shè)備識(shí)別

設(shè)備系列檢測

設(shè)備組檢測

模擬器檢測

電池狀態(tài)

電池電量

Equatable

17.Charts

漂亮的曲線圖姥闪、餅狀圖始苇、柱狀圖、散點(diǎn)圖筐喳、氣泡圖催式、雷達(dá)圖,更多的圖形都在 charts 庫里避归。

18.MGSwipeTableCell

一個(gè)易于使用的 UITableViewCell 子類荣月,可展示多種過渡方式的可滑動(dòng)按鈕。

19.RandomKit

簡單易用的隨機(jī)數(shù)據(jù)生成器梳毙。

20.ResponseDetective

ResponseDetective 是一個(gè)非侵入式框架哺窄,在調(diào)試時(shí)用于攔截應(yīng)用程序和服務(wù)器之間的任何的傳出請求和傳入響應(yīng),以進(jìn)行調(diào)試顿天。

21.Onboard

僅需添加幾行代碼堂氯,即可輕松創(chuàng)建一個(gè)美麗和吸引人的載入體驗(yàn)。

22.Quick+Nimble

Quick 是一款專門用于 iOS 應(yīng)用開發(fā)的開源行為驅(qū)動(dòng)開發(fā)(BDD)測試框架牌废,支持 Swift 和 Objective-C 咽白,一般配合匹配框架?Nimble?使用。

23.Natalie

Natalie 生成基于 Storyboard 文件的 Swift 代碼鸟缕,使 Storyboard 和 Segue 更容易使用晶框。生成的文件減少了用字符串作為 Segue 或 Storyboard 的標(biāo)識(shí)符的情況。

24.RxSwift

對(duì) Swift 的響應(yīng)式編程感興趣懂从? 那不妨試試 RxSwift 授段。

示例

指定 GitHub 存儲(chǔ)庫的搜索 ...

letsearchResults?=?searchBar.rx.text.orEmpty????.throttle(0.3,scheduler:?MainScheduler.instance)????.distinctUntilChanged()????.flatMapLatest?{?query->Observable<[Repository]>inifquery.isEmpty?{return.just([])????????}returnsearchGitHub(query)????????????.catchErrorJustReturn([])????}????.observeOn(MainScheduler.instance)

... 然后將結(jié)果綁定到你的視圖表

searchResults????.bind(to:?tableView.rx.items(cellIdentifier:"Cell"))?{????????(index,?repository:?Repository,?cell)?in????????cell.textLabel?.text?=?repository.name????????cell.detailTextLabel?.text?=?repository.url????}????.disposed(by:?disposeBag)

25.GDPerformanceView

GDPerformanceView 可以在狀態(tài)欄上方顯示 FPS、CPU 使用情況以及應(yīng)用版本和 iOS 版本番甩,并通過 delegate 報(bào)告 FPS 和 CPU 使用情況侵贵。

26.Alamofire

Alamofire 是一個(gè)用 Swift 編寫的 HTTP 網(wǎng)絡(luò)庫。

特性

鏈?zhǔn)降恼埱?響應(yīng)方法

URL / JSON / plist 參數(shù)編碼

上傳類型支持:文件(File )缘薛、數(shù)據(jù)(Data )窍育、流(Stream)以及 MultipartFormData

支持文件下載卡睦,下載支持?jǐn)帱c(diǎn)續(xù)傳

支持使用 NSURLCredential進(jìn) 行身份驗(yàn)證

支持 HTTP 響應(yīng)驗(yàn)證

上傳和下載進(jìn)度可隨進(jìn)程關(guān)閉

支持 cURL 命令輸出

支持動(dòng)態(tài)修改和重試請求

支持?TLS Certificate?和?Public Key Pinning

網(wǎng)絡(luò)可達(dá)性

文檔完善

27.SwiftyStoreKit

SwiftyStoreKit 是一個(gè)輕量級(jí)的 App 內(nèi)購框架,支持 iOS 8.0+漱抓、tvOS 9.0+ 和 macOS 10.10+ 表锻。

28.Timepiece

直觀的 Swift 日期處理庫。

特征:

直觀: Timepiece 提供了一系列輔助函數(shù)乞娄,使得日期處理更簡單瞬逊。

準(zhǔn)確: 精確依賴于 Foundation API , Timepiece 可以在無需深入了解的前提下輔助計(jì)算日期仪或。

小: Timepiece 只有4個(gè)文件确镊,你可以很簡單的閱讀其內(nèi)部結(jié)構(gòu)。

29.CryptoSwift

用 Swift 實(shí)現(xiàn)的且用于 Swift 中的加密相關(guān)函數(shù)和輔助結(jié)構(gòu)溶其。

特點(diǎn)

易用

對(duì)于字符串和數(shù)據(jù)方便擴(kuò)展

支持增量更新(流式更新)

支持 iOS骚腥、 macOS、AppleTV瓶逃、watchOS、Linux 等系統(tǒng)

30.FSCalendar

完全可定制的 iOS 日歷庫廓块,兼容 Objective-C 和 Swift 厢绝。

31.ImageViewer

一個(gè)類似 Twitter 的圖像查看器。

32.PromiseKit

PromiseKit 是對(duì)任意有 swiftc 的平臺(tái)的恰當(dāng)而又完整的 promises 實(shí)現(xiàn)带猴,它具有卓越的 Objective-C 橋接和專門為 iOS昔汉、macOS、tvOS 以及 watchOS 的特殊化處理拴清。

33.Ensembles

Ensemble 是一個(gè) Objective-C 框架靶病,支持 Swift ,擴(kuò)展了 Apple 的 Core Data 框架口予,為 Mac OS 和 iOS 添加了點(diǎn)對(duì)點(diǎn)的同步功能娄周。多個(gè) SQLite 持久存儲(chǔ)可以通過像 iCloud 或 Dropbox 這樣的文件同步平臺(tái)整合在一起。該框架易于擴(kuò)展沪停,可支持任何需要在不同設(shè)備之間傳輸文件的服務(wù)煤辨,包括定制服務(wù)器。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末木张,一起剝皮案震驚了整個(gè)濱河市众辨,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌舷礼,老刑警劉巖鹃彻,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異妻献,居然都是意外死亡蛛株,警方通過查閱死者的電腦和手機(jī)团赁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來泳挥,“玉大人然痊,你說我怎么就攤上這事√敕” “怎么了剧浸?”我有些...
    開封第一講書人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長矗钟。 經(jīng)常有香客問我唆香,道長,這世上最難降的妖魔是什么吨艇? 我笑而不...
    開封第一講書人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任躬它,我火速辦了婚禮,結(jié)果婚禮上东涡,老公的妹妹穿的比我還像新娘冯吓。我一直安慰自己,他們只是感情好疮跑,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開白布组贺。 她就那樣靜靜地躺著,像睡著了一般祖娘。 火紅的嫁衣襯著肌膚如雪失尖。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,071評(píng)論 1 285
  • 那天渐苏,我揣著相機(jī)與錄音掀潮,去河邊找鬼。 笑死琼富,一個(gè)胖子當(dāng)著我的面吹牛仪吧,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播公黑,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼邑商,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了凡蚜?” 一聲冷哼從身側(cè)響起人断,我...
    開封第一講書人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎朝蜘,沒想到半個(gè)月后恶迈,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年暇仲,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了步做。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡奈附,死狀恐怖全度,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情斥滤,我是刑警寧澤将鸵,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站佑颇,受9級(jí)特大地震影響顶掉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜挑胸,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一痒筒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧茬贵,春花似錦簿透、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至舆逃,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間戳粒,已是汗流浹背路狮。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蔚约,地道東北人奄妨。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像苹祟,于是被迫代替她去往敵國和親砸抛。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 近期看到一篇文章树枫,里面收錄了很多不錯(cuò)的第三方庫直焙,收藏起來,原文如下: 原文 由 Instagram 開發(fā)人員制作砂轻,...
    好雨知時(shí)節(jié)浩宇閱讀 350評(píng)論 0 3
  • 1奔誓、IGListKithttps://github.com/Instagram/IGListKit 由 Insta...
    MenaceiOS閱讀 255評(píng)論 0 1
  • 秋來了,秋真正的來了搔涝! 秋風(fēng)厨喂、秋雨和措、秋霜,還有那些被霜染的秋葉
    d5e8d11b4842閱讀 252評(píng)論 0 0
  • 雨后的太陽絲毫沒有改變,和昨天一樣的熱斜纪。感嘆時(shí)間過的好快贫母,一轉(zhuǎn)眼暑假一個(gè)星期過去了,還好女兒像往常上學(xué)一樣充實(shí)著自...
    呂玥媽咪閱讀 162評(píng)論 0 2
  • 胖圓圓的月亮照醒了你的美傀广, 你的紅在撩人的黑夜里留下了無與倫比颁独, 醉人的芬芳已讓...
    人與詩閱讀 206評(píng)論 0 1