在iOS開發中不可避免的會用到一些第三方類庫,他們提供了很多實用的功能,是我們的開發變得更有效率;同時,也可以從它們的源代碼中學習到很多有用的東西。
★ IGListKit
作者: Instagram Engineering
IGListKit 是數據驅動的 UICollectionView 框架,為了構建快速和可擴展的列表。另外,它有助於你在app結束對於大量視圖控制器的使用。
★ Realm
作者:realm.io
Realm是一個直接運行在手機、平板和可穿戴設備內部的移動端數據庫,而不僅僅適用於iOS系統。如果你想試一點和Core Data 或SQLite不一樣的移動端數據庫,就用Realm。許多人都說它是一個現代化的產品,甚至已經可以替代蘋果原生的解決方案。
★ Moya
作者:Ash Furrow
Moya是你的app中缺失的網絡層,不用再想在哪兒或如何安放網絡請求,Moya都會替你管理好。
★ SwiftyJSON
作者:Pinglin Tang
Swift 界 JSON 解析之王,能自動替你完成可選值的拆包。
把這段代碼:
if let statusesArray = try? JSONSerialization.jsonObject(with: data, options: .allowFragments) as? [[String: Any]], let user = statusesArray[0][“user”] as? [String: Any], let username = user[“name”] as? String { // Finally we got the username}
變成了這段:
let json = JSON(data: dataFromNetworking)
if let userName = json[0][“user”][“name”].string {
// Now you got your value
}
★ Valet
作者:Square
Valet允許你安全地在iOS 或 OS X鑰匙鏈中存儲數據,而不需要掌握任何鑰匙鏈如何工作的指示。它支持在一台設備的多個應用間分享數據,以及在一個應用中在多個設備間利用iCloud進行分享,甚至支持Touch ID。
★ Firebase Analytics
作者:Google Developers
Firebase Analytics是一個免費的app監測解決方案,有谷歌製作(收購),算是iOS最好的免費分析解決方案,能追蹤app使用量、用戶活躍度、以及事件等;設置用戶屬性;創建自定義受眾等等。
★ AsyncDisplayKit
作者:Facebook
Facebook為他們的app paper創造了這個異步UI SDK,如果你想要讓你的app總是美妙用60幀的速度來渲染,一定要看看這個庫。
★ DZNEmptyDataSet
用戶安裝了你的app之後,總看見了一個空白的UITableView/DZNEmptyDataSet是嵌入式 UITableView/UICollectionView 的父類類別,用於顯示空的數據集,能提供了Empty Data Set Pattern的默認實現,幫助你的app避免出現這一情況,
★ Chameleon
作者:Vicc Alexander
Chameleon是一個輕量而又強大的iOS顏色框架,它是基於「軟件應用程序應該輕鬆地實現功能,並同時保持漂亮的界面」這個想法而創建的。
有了Chameleon,從此你不再需要浪費時間搞明白app裏的正確顏色組合,以及為文本能否在app裏不同的背景下可以被看見而煩惱。
★ PermissionScope
作者:Nick O’Neill
PermissionScope是一個swift框架,為了向用戶巧妙地請求權限。它不只包含簡單的權限請求UI,還有同意的權限API可以告訴你任意給定的系統權限的狀態,當然你也可以輕鬆地請求它們。