【轉(zhuǎn)】原文鏈接
由 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ì)幫你處理這些問題。
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 营袜。
它(由 Google 出品)可能是 iOS 上最好的免費(fèi)分析解決方案撒顿。包括跟蹤應(yīng)用程序使用量、用戶活躍度荚板,以及事件凤壁;設(shè)置用戶屬性;創(chuàng)建自定義受眾跪另;和一些其他功能拧抖。
Facebook 為他們的 app?Paper創(chuàng)造了這個(gè)異步 UI SDK。如果你想讓你的 app 總是每秒用 60 幀的速度來渲染免绿,一定要看看這個(gè)庫唧席。這兒有一篇來自 Buffer 團(tuán)隊(duì)的故事。
通常用戶安裝一個(gè) APP 后嘲驾,會(huì)看到一個(gè)空的 UITableView 淌哟。DZNEmptyDataSet 可以通過提供默認(rèn)的Empty Data Set Pattern的實(shí)現(xiàn)來回避這個(gè)問題。
Chameleon 是一個(gè)輕量卻功能強(qiáng)大的 iOS 顏色框架軟件辽故。它基于的理念是:軟件應(yīng)用程序應(yīng)該可以不費(fèi)力氣且同時(shí)保持多個(gè)漂亮的界面徒仓。
使用 Chameleon ,你不再需要調(diào)配 RGB 值誊垢,不用浪費(fèi)時(shí)間去找你的 APP 合適的顏色組合掉弛,也不用擔(dān)心你 APP 的文字是否能在不同背景色上可讀症见。
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)此查看使用示例
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 庫里避归。
一個(gè)易于使用的 UITableViewCell 子類荣月,可展示多種過渡方式的可滑動(dòng)按鈕。
19.RandomKit
簡單易用的隨機(jī)數(shù)據(jù)生成器梳毙。
ResponseDetective 是一個(gè)非侵入式框架哺窄,在調(diào)試時(shí)用于攔截應(yīng)用程序和服務(wù)器之間的任何的傳出請求和傳入響應(yīng),以進(jìn)行調(diào)試顿天。
21.Onboard
僅需添加幾行代碼堂氯,即可輕松創(chuàng)建一個(gè)美麗和吸引人的載入體驗(yàn)。
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)
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á)性
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ù)器。