分享近期 GitHub 上比較流行的 22 個和 iOS 開發相關的開源項目。ios
包括開發輔助工具,異步編程庫,JSON 解析,移動端數據庫,圖像視頻處理,網絡請求,UI 框架、組件,算法、數據結構等內容。git
在當前 iOS 生態環境中,CocoaPods 和 Carthage 是最成熟的依賴管理器。github
若是你不喜歡使用 Ruby 編寫的 CocoaPods,或者更偏心 Carthage 的非侵入方式,能夠嘗試下 Accio. Accio 改進了 Carthage 的一些問題,同時它的核心儘量使用 SwiftPM,這樣將來 Xcode 對 SwiftPM 支持更成熟時,能夠很方便地遷移到 SwiftPM。順便提一下,Accio 讀做 AH-kee-oh.面試
SwiftLint 檢查 Swift 代碼風格、慣例。基於 Clang 和 SourceKit 提供的 AST 表示,所以能夠提供更精準的分析結果。算法
idb 顧名思義,iOS 版本的 adb
。這款 Facebook 開發的命令行工具可助你自動化在模擬器和真機上的調試流程。數據庫
InAppViewDebugger 供內嵌於應用的視圖調試器。相似 Xcode 視圖調試器,但能夠在 iPad 和 iPhone 上調試視圖。編程
MTHawkeye 美圖秀秀開源的 iOS 調試優化輔助工具集。內置插件有 LivingObjectSniffer (跟蹤對象)、Allocations(跟蹤實時分配內存)、UITimeProfiler(主線程耗時任務調優)、ANRTrace(捕獲卡頓事件)、FPSTrace(跟蹤界面 FPS 及 OpenGL 刷新繪製 FPS)、CPUTrace(跟蹤 CPU 持續高使用率)、NetworkMonitor(監聽記錄應用內 HTTP(S) 網絡請求各階段耗時)、NetworkInspect(基於 Network Monitor 推薦可優化項,支持自定義規則)、OpengGLTrace(跟蹤 OpenGL 資源內存佔用)、DirectoryWatcher(跟蹤沙盒文件夾大小)、FLEX(沙盒文件 AirDrop)。開發者可基於基礎框架 API 開發本身的調試輔助插件。swift
RxSwift 在 Swift 中使用 Reactive 編程範式。緩存
PromiseKit 給 Swift 和 Objective-C 帶來了 Promise 異步編程模式。網絡
IkigaJSON 用 Swift 編寫的高性能 JSON 解析庫。
Realm 移動端數據庫,Core Data & SQLite 替代品。提供直觀的對象接口,無需 ORM。在提供衆多豐富特性的狀況下,經常使用操做仍有超越原生 SQLite 的性能。支持 iOS、macOS、tvOS、watchOS。同時提供 Objective-C 和 Swift 版本。
做爲一個開發者,有一個學習的氛圍跟一個交流圈子特別重要,這是一個個人iOS交
流羣:519832104 無論你是小白還
是大牛歡迎入駐,分享經驗,討論技術,你們一塊兒交流學習成長!
另附上一份各好友收集的大廠面試題,須要iOS開發學習資料、面試真題,能夠添加
iOS開發進階交流羣,進羣可自行下載!
BBMetalImage 使用 Swift 編寫的高性能圖像視頻處理庫,基於 GPU 加速。內置超過 60 種過濾器,支持鏈式調用,支持自定義過濾器。
Alamofire 使用 Swift 編寫的 HTTP 網絡庫,支持 iOS、macOS、tvOS、watchOS。特性包括鏈式調用,URL、JSON、plist 參數編碼,上傳文件、數據,下載文件(支持續傳),URLCredential 認證,HTTP 響應校驗,上傳、下載進度,curl 命令輸出,動態適配、重試請求等。
SDWebImage 高性能異步圖像下載,特性包括緩存(自動處理緩存過時)、後臺圖像解壓縮、定製圖像轉換、定製圖像加載器等。在 UIImage 支持的格式(JPEG、PNG、GIF 等)以外,還支持 WebP 格式(包括 WebP 動畫)。並可經過插件支持更多圖像格式,例如 APNG、BPG、HFIF、SVG。
IGListKit UICollectionView 框架,建立高速、靈活的列表。提供可複用的單元格、組件和易於擴展的 API,支持多種數據類型。diff 算法解耦,可定製 diff 行爲。使用 Objective-C 編寫,同時提供完整的 Swift 互操做支持。
Charts iOS/tvOS/macOS 圖表繪製庫。在 Android 開發者間很流行的圖表繪製庫 MPAndroidChart 的 Swift 移植版。
SnapKit iOS 和 macOS 自動佈局 DSL。
Blueprint Square 最近開源的聲明式 iOS UI 框架。使用 Swift 編寫。該框架尚處於試驗階段,但已應用於 Square 生產環境應用。
QMUI 騰訊開源的 iOS UI 解決方案。
IQKeyboardManager 自動防止彈出鍵盤遮蓋 UITextField/UITextView
。
TORoundedButton 基於 UIControl
類實現的圓角矩形按鈕控件。在提供衆多定製樣式的選項的同時仍保持儘量高的圖形性能。使用 Objective-C 編寫,不過徹底兼容 Swift(Swift 下的類名爲 RoundedButton
)。
Swift Algorithm Club 算法和數據結構,除了 Swift 代碼,還配有詳盡的解釋!
LeetCode by Swift LeetCode 問題的 Swift 解答。
Open-Source iOS Apps 開源 iOS 應用列表,可供觀摩借鑑。
你有什麼能夠補充進上面這個列表的項目嗎?歡迎留言分享你的發現和創造!