iOS 程式設計師必須收藏的資源大全

iOS_小賢發表於2019-03-21

這個列表分為以下幾個部分:框架( Frameworks )、元件( Components )、測試( Testing )和其他的開源專案,免費的和付費的服務。每個部分中的專案沒有先後順序,均是按照提交的先後順序排列的。

Swift 語言寫成的專案會被標記為 ★ ,AppleWatch 的專案則會被標記為 ▲。你可以自由新增你的專案。

入門

  • Road Map iOS – 開發 iOS 應用從今天開始,蘋果指南。★
  • Lifehacker – 我想寫一個 iOS 應用,該從哪裡開始?
  • Codeproject – 入門 iPhone 和 iOS 應用開發。
  • Ray Wenderlich – 學習 iOS 應用開發。
  • Stanford – Developing Apps to iOS – 史丹佛在 iTunes U 上的 iOS App 開發課程(音訊和視訊)。
  • Stanford – Developing iOS 8 Apps with Swift – 史丹佛在 iTunes U 上用 Swift 開發 App 的課程(2015版)。★

庫和框架

音訊

  • AudioBus – 下一代 App 到 App 的實時音訊路由。
  • AudioKit – 一個強大的音訊合成,處理和分析的工具集。
  • EZAudio – 一個基於 Core Audio 的 iOS/OSX 音訊視覺化框架。用於實時,低延遲的音訊處理和視覺化功能的開發。
  • novocaine – 應用於 OSX 和 iOS 的高效能音訊框架。
  • QHSpeechSynthesizerQueue – 一個 AVSpeechSynthesizer(iOS文字發音) 的佇列管理系統。
  • StreamingKit – 一個針對 OSX 和 iOS 中 AudioPlayer/AudioStreamer 快捷的無縫擴充套件。
  • sound-fader-ios – 一個 Swift 寫的 AVAudioPlayer 的聲音控制器 ★

動畫

  • Pop – 一個 iOS 和 OS X 動畫庫,可以方便地實現由物理效果的互動。
  • AnimationEngine – 可以在 iOS 上方便地構建高階自定義動畫。
  • Awesome-iOS-Animation – 一個動畫專案的集合。
  • RZTransitions – iOS View Controller 過場動畫庫。
  • DCAnimationKit – iOS 動畫集合。很簡單,只需要新增流水動畫。
  • Spring – 一個簡單的 Swift iOS 動畫庫。
  • Canvas – 無需程式碼就可以在 Xcode 中顯示動畫 canvaspod.io
  • Fluent – 便捷的 Swift 動畫框架。 ★
  • Cheetah – 便捷的 iOS 動畫庫,由 Swift2 編寫。 ★
  • RadialLayer – 針對可點選元素的動畫(類似於 Youtube Music)★

Apple TV

  • Voucher – 方便 tvOS App 通過 iOS 裝置上相應的程式來認證的庫。

橋接

  • JSPatch – JSPatch 利用 Objective-C 執行時橋接了 Objective-C 和 Javascript。你僅需引入一個小的引擎,就可以使用 JS 呼叫任何 Objective-C 的類。JSPatch 通常用來對 iOS App 做熱修復(hotfix)。

快取

  • SDURLCache – URLCache 的子類,可以為 iPhone/iPad 應用提供的本地磁碟快取。
  • Awesome Cache – 讓人喜愛的本地快取 ★
  • mattress – iOS Web 內容的離線快取 ★
  • Carlos – 簡單但卻靈活的快取 ★

圖表

  • ios-charts – 一個強大的圖表框架,MPAndroidChart 在 iOS 上的移植。★
  • JTChartView – JTChartView 是一個完全可定製的輕量級圖表解決方案。
  • PNChart – 一個簡單漂亮的圖表庫,Pinner 和 CoinsMan 的iOS客戶端中使用了這個框架。
  • BEMSimpleLineGraph – 優雅的折線圖框架。
  • JBChartView – 基於 iOS 的圖表庫,包含折線圖和直方圖。
  • iOSPlot – iOS 圖表庫。
  • XYPieChart – 一個有動畫的餅圖框架。
  • TEAChart – 簡單易用的 iOS 圖表庫。包括了貢獻圖、時鐘圖、直方圖。
  • EChart – iOS/iPhone/iPad 圖表。提供了事件處理和動畫支援。
  • FSLineChart – 一個 iOS 折線相簿。
  • chartee – 一個為移動平臺設計的圖表庫。
  • ANDLineChartView – 使用 ANDLineChartView 可以便捷的在檢視類中顯示有動畫效果的折線圖。
  • TWRCharts – 一個 ChartJS 的 iOS 封裝。結合 Obj-C 原生程式碼便捷地構建有動畫的圖表。

Core Data

  • CWCoreData – 方便併發環境下 CoreData 框架開發的擴充套件與實用工具。
  • ObjectiveRecord – ActiveRecord 的 Objective-C 版本。
  • SSDataKit – 消除使用 CoreData 產生的樣板程式碼。
  • ios-queryable – ios-queryable 是一個基於 CoreData 的 IQueryable/IEnumerable 實現。
  • ReactiveCoreData – ReactiveCoreData (RCD) 是一個將 CoreData 帶入 ReactiveCocoa 世界的嘗試。
  • Ensembles – 一個 CoreData 同步框架。
  • SLRESTfulCoreData – 根據 Objc 命名習慣,在執行時自動生成訪問器,URL替換和智慧屬性對映。
  • Mogenerator – 自動生成 CoreData 程式碼。
  • HardCoreData – 不會阻塞 UI 執行緒的 CoreData 棧和控制器。
  • encrypted-core-data – 使用 SQLClipher 對 CoreData 的 SQLite 儲存進行加密。
  • MagicalRecord – 非常優秀的 CoreData 便捷存取框架。
  • QueryKit – 一個簡潔的型別安全的 CoreData 查詢語言 ★
  • CoreStore – 強大的 CoreData 框架,解決了增量遷移、獲取、觀察等問題。★

資料庫

  • Realm – CoreData 和 SQLite 的替代品。簡潔、現代、快速。
  • YapDatabase – YapDatabase 是一個 iOS 和 Mac 上可擴充套件的資料庫。
  • Couchbase Mobile – Couchbase,有云同步支援的移動平臺上的文件儲存。
  • FMDB – SQLite 的 Cocoa/Objective-C 封裝。
  • Akaibu-NSUserDefaults – Swift 鍵/值儲存,只需要一行程式碼就可以對 NSObject 物件進行歸檔。類的屬性會自動對映和歸檔。
  • FCModel – 為那些喜歡直接使用 SQL 進行資料庫操作的人提供的 CoreData 的替代品。
  • Zephyr – 輕鬆地通過 iCloud 同步 NSUserDefaults ★
  • Prephirences – Prephirences 是一個提供了有用的協議和便捷的方法來管理應用的偏好設定,配置和應用狀態的 Swift 庫。★

加密

  • AESCrypt-ObjC – 一個簡單固執的 AES 加密/解密類,然而它就是可以很好的工作。

動作

  • MotionKit – 只需要兩行或者很少的幾行程式碼就可以從加速度感測器、陀螺儀和磁力感測器獲取資料。現在 CoreMotion 讓這些變得前所未有的簡單。

藍芽

  • Discovery – 這是個很簡單的庫,用來從附近的裝置上發現和獲取資料(即便 peer app 在後臺工作)。
  • LGBluetooth – 基於 CoreBluetooth 的一個輕量級庫,基於 block 製作。它能夠讓你程式中的 CoreBluetooth 相關的程式碼更加簡潔。
  • PeerKit 一個用於事件驅動,零配置的 Multipeer 連線應用程式的開源 Swift 框架。★
  • simple-share – 一個基於藍芽 LE 共享的框架,易於實現附近裝置的連線。
  • BluetoothKit – 使用 BLE 在 iOS/OSX 裝置之間通訊的框架★

位置

  • IngeoSDK – 總是處於開啟狀態的 iOS 位置顯示框架。
  • Proxitee – 允許開發者利用 iBeacons 和地理圍欄建立近場感知的應用。
  • LocationManager – 實現了一次性或者持續請求當前位置的功能,提供了基於 block 的非同步 API。
  • LocationKit – 高階位置 SDK - 只使用很少的電量和上下文相關的位置資訊就可以提供高精確度的位置資料。

HUD

  • MBProgressHUD – 用於顯示一個半透明的 HUD。當任務在後臺執行緒結束時可以在上邊顯示一個指示器和/或者標籤。
  • SVProgressHUD – 一個為你的 iOS 應用製作的簡潔,輕量級的進度指示 HUD。
  • ProgressHUD – ProgressHUD 是一個輕量易用的 HUD。
  • M13ProgressSuite – 一個包含了很多 iOS 上用於顯示進度資訊工具的套裝。
  • JHProgressHUD – 一個簡單輕量的 Swift 框架,用於在 iOS 應用中顯示★
  • PKHUD – 用 Swift 重新實現了 Apple 的原生 HUD,支援 iOS 8 以上★
  • CozyLoadingActivity – 輕量的載入動作指示 HUD ★

檔案

  • FileKit – Swift 實現的簡單快捷的檔案管理工具。★

JSON

JSONKit – Objective-C JSON 工具。

TouchJSON – 一個 Objective-C 的 JSON 框架。

JSON-Framework – 這個框架用 Objective-C 實現了一個嚴格的 JSON 直譯器和生成器。

Mantle – 面向 Cocoa 和 Cocoa Touch 的模型框架 Model 。

Groot – 實現呃 JSON 字典或者陣列和 Core Data Mangement 物件之間的轉換。

KZPropertyMapper – 以最少的程式碼實現資料對映和驗證。

JSONModel – 神奇的基於 JSON 的資料模型化框架。建立了一系列敏捷便利,自動並且智慧的模型類。

SwiftyJSON – 使用 Swift 處理 JSON 資料的好方法。★

FastEasyMapping – 快速地序列化和反序列化 JSON 資料。

OCMapper – Objective-C & Swift 通用的快速 JSON 模型轉化框架。 ★

ObjectMapper – 在模型物件(包括 class 和 struct)和 JSON 之間轉換的 Swift 框架。★

JASON – 效能優秀操作便捷的 JSON 解析。★

Gloss – 一個 Swift 寫的 JSON 解析庫。★

Cereal – Swift 物件序列化 ★

SwiftyJSONAccelerator – 使用 SwiftyJSON 或者 ObjectMapper 根據 JSON 生成 Swift 模型。支援 NSCoding 並且提供了使用 JSON 來表示模型的方法。★

複製程式碼

佈局

ios-flexboxkit – 一個封裝了 Flexbox 佈局的簡單 UIKit 擴充套件。

Masonry – 利用簡單的,鏈式的語法發揮出自動佈局 NSLayoutConstraints 的強大功能。

FLKAutoLayout – 讓使用程式碼做約束更加簡便的 UIView 類別。

Façade – 可程式設計的檢視佈局,一個 autolayout 的替代品。

PureLayout – 終極的 iOS 和 OS X 上的 Autolayout API,極其簡單又異常強大。同時適用於 Objective-C 和 Swift。

SnapKit – 一個 iOS 和 OS X 的 Swift Autolayout 領域專用語言(DSL)。★

Cartography – 一個 Swift 編寫的宣告式 Auto Layout 領域專用語言(DSL)。★

AutoLayoutPlus – 給 Auto Layout 加的一點料,由 Swift 驅動。 ★

複製程式碼

地圖

Route-me – iOS 開源地圖框架

NAMapKit – 允許你在 iPhone 應用使用自定義地圖,並嘗試模仿 Mapkit 框架的一些行為。

Mapbox GL – 一個 iOS 上使用 OpenGL 渲染 Mapbox 向量地圖塊的框架。

CMMapLauncher – 用於 iOS 中在各種地圖應用中顯示方向的便捷框架。

複製程式碼

圖片

GPU Image – 一個基於 GPU 的 iOS 開源的影象和視訊處理框架。

UIImage DSP – iOS UIImage 處理功能,它使用 vDSP/Accelerate 框架來提高速度。

QR Code Scanner – 二維碼掃描器。

AsyncImageView – UIImageView 的非同步影象載入和顯示擴充套件,不會阻塞 UI 執行緒。

SDWebImage – 非同步的影象下載器,提供了快取支援。以 UIImageView 類別的方式提供。

DFImageManager – 從多種資料來源獲取影象的現代框架。無需配置,並具有高度的可定製性和擴充套件性。使用了 NSURLSession。

MapleBacon – 一個 Swift iOS 影象下載和快取庫 ★

NYTPhotoViewer – 抽屜選單和照片檢視器。

IDMPhotoBrowser – 圖片瀏覽器/檢視器。

JTSImageViewController – iOS 互動式圖片瀏覽器。

Concorde – 下載和解碼連續的 JPEG 影象。

SCRecorder – 類似 Vine 的點選拍攝,動畫過濾器,慢鏡頭,片段編輯相機引擎。

HanekeSwift – 一個 Swift 編寫的 iOS 平臺的輕量級通用快取框架,還有對影象的更多支援。★

TOCropViewController – 一個可以允許使用者修改 UIImage 物件的檢視控制器。

YXTMotionView – 一個自定義的圖片檢視,它實現了依靠裝置運動來滾動圖片。

PINRemoteImage – 一個執行緒安全、高效能、特性豐富的影象獲取器。

SABlurImageView – 可以輕鬆地為圖片新增模糊動畫效果。★

FastImageCache – 在滾動時快速顯示圖片的 iOS 框架。

BKAsciiImage – 將圖片渲染為 ASCII art 的庫。

YLGIFImage – 非同步的 GIF 影象解碼和圖片瀏覽器。支援 GIF 圖動畫,但只消耗少量的記憶體。

AlamofireImage – 一個為 Alamofire 製作的影象元件庫。★

Nuke – 高階的圖片管理框架。★

FlagKit – 供 app 和 web 頁面上使用的漂亮旗標。★

YYWebImage – 非同步影象載入框架(支援 WebP,APNG,GIF 格式)。

複製程式碼

視訊

VIMVideoPlayer – 一個對 AVPlayer 和 AVPlayerLayer 類的簡單封裝。

MobilePlayer – 一個強大完善且完全可定製的 iOS 媒體播放器。

複製程式碼

PDF

Reader – 一個 iOS PDF 閱讀器的核心。

UIView 2 PDF – 使用 UIViews (或配合著 XIB)的 PDF 生成器。

複製程式碼

訊息

LayerKit – 一個對於 Layer 的 iOS 開發元件,。是將訊息(文字,照片,視訊,資料)新增到移動或 Web 應用中最簡單的解決方案。

Twilio – 驅動著現代的交流方式,構建下一代音訊與 SMS 應用。

Plivo – SMS API、音訊 API 和 全球運營商。

XMPPFramework – 一個 iOS 和 Mac 上的 XMPP 協議通訊框架。

複製程式碼

網路

AFNetworking – 一個得心應手的 iOS 和 OSX 上的網路請求框架。

RestKit – RestKit 是一個 iOS Objective-C 框架,是為了讓和 RESTful web 服務互動變的簡單、快捷、有趣。

FSNetworking – 穩固的 iOS 網路庫。

ASIHTTPRequest – Objective-C 編寫的 HTTP 網路請求庫。它是對 CFNetwork 易用的封裝。支援 Mac OS X 和 iPhone。

Overcoat – 小巧但是很強大的庫,讓建立一個 REST 客戶端簡便和有趣。

ROADFramework – 面向屬性的 web 服務互動方式。框架有內建的 json 和 xml 請求響應序列化方法,十分方便擴充套件。

MBNetworkMonitor – 蘋果 Reachability 類的現代化替代品,使用了 CoreTelephony 來傳達更多有關使用者網路連線狀況的資訊。

MBNetworkIndicator – 提供了簡單的方式在多個請求之間協調裝置網路指示器。

Alamofire – Alamofire 是一個 Swift 寫的 HTTP 網路庫,由 AFNetworking 的作者編寫。★

Transporter – 讓上傳下載更便捷的小程式碼庫。★

CDZPinger – 使用方便的 ICMP Ping 框架。

NSRails – 將客戶端的物件/類對映到遠端 REST API 的物件/ORM。

NKMultipeer – 一個建立在多重連結上的可測試的抽象。★

CocoaAsyncSocket – 用於 Mac 和 iOS 的非同步 socket 網路庫。

Siesta – 優雅的 RESTful 資源抽象,將狀態解藕。是基於回撥或者代理的網路庫的替代品。★

Reachability.swift – 用 Swift 和閉包重新實現了蘋果的 Reachablility 框架。★

NetworkEye – 一個 iOS 網路除錯庫,可以顯示 App 中的 HTTP 請求和請求的相關資訊。

複製程式碼

推送通知

Orbiter – 在 iOS 中註冊推送通知。

PEM – 為推送伺服器自動生成 profile。

Parse Push – 完全免費的後臺推送通知,提供了建立分段,排程甚至 A/B 測試的能力。

Urban Airship – 付費的推送通知後臺。

Growth Push – 付費的推送通知。 它是在日本最受開發者喜愛的工具之一。

APNS-Pusher – 蘋果推送通知服務的偵錯程式。

複製程式碼

Passbook

passbook – 為 Passbook 建立 pkpass 檔案。

Dubai – 生成和預覽 Passbook 的 Pass。

Passkit – 設計、建立並驗證 Passbook 的 Pass。

複製程式碼

許可權

PermissionScope – 智慧的 iOS 授權 UI 和 統一的 API(支援位置、通知、照片、聯絡人、日曆、照片、麥克風、BT、進度指示、HealthKit 和 CloudKit)。★

Proposer – 便捷地請求使用者許可權(支援相機、照片、麥克風、聯絡人、位置)。★

ICanHas – 簡化 iOS 使用者許可權請求(支援位置、推送通知、相機、聯絡人、日曆、照片)。★

VWWPermissionKit – 視覺化的 iOS 授權管理器。

ISHPermissionKit – 為 iOS 提供請求使用者許可權的統一方法。

JLPermissions – iOS 預授權工具,開發者用它來製作詢問使用者是否授權的對話方塊,支援日曆、聯絡人、位置、照片、備忘錄、twitter、推送通知和其他需要授權的操作。

複製程式碼

文字

Twitter Text Obj – Twitter 的文字處理庫的 Objective-C 實現。

Nimbus – Nimbus 是一個為高階 iOS 軟體設計師製作工具包。

NSStringEmojize – 一個將 Emoji 表情符號轉換為等價的 Unicode 字串的 NSString 類別。

MMMarkdown – 用於將 Markdown 轉換為 HTML 的 Objective-C 靜態庫。

DTCoreText – 利用 CoreText 使用 HTML 程式碼的方法。

DTRichTextEditor – 一個 iOS 的富文字編輯器。

NBEmojiSearchView – 一個支援搜尋並且可以整合到文字控制元件中的 emoji 下拉選單檢視。

ios-fontawesome – NSString + FontAwesome。

Pluralize.swift – 強大的 Swift String 單數轉換複數擴充套件。★

RichEditorView – RichEditorView 是一個簡單、模組化的富文字編輯器檢視。★

Money – 為與錢和現金相關工作的的 Swift 值型別。★

PhoneNumberKit – 用於解析,格式化和驗證國際電話號碼的 Swift 框架,由谷歌的 libphonenumber 庫支援。★

YYText – iOS 上用於顯示和編輯富文字的強大文字框架。

複製程式碼

功能漫遊 / 介紹 / 教程

Onboard – 用一點點程式碼就可以建立一個漂亮的吸附效果的實踐。

EAIntroView – 高度可定製非侵入式的歡迎頁面解決方案。

MYBlurIntroductionView – 在 MYIntroductionView 上完善的,用於構建可定製的 app 介紹或者教程頁面的框架。

BWWalkthrough – 一個自定義 iOS App 的功能漫遊頁面的框架。★

GHWalkThrough – 一個基於 UICollectionView 的非侵入式介紹頁面元件。

ICETutorial – 一個很好的教程框架,類似 Path 3.X 版本的 App 中的樣式。

JazzHands – Jazz Hands 是一個簡單的 UIKit 關鍵幀動畫框架。動畫是可以使用手勢、滾動檢視、KVO 或者 ReactiveCocoa 來控制的。

RazzleDazzle – 簡單的基於關鍵幀的 iOS 動畫框架,由 Swift 編寫。最適合用於 App 的滾動介紹頁面。★

Instructions – 向你的 iOS 專案中新增自定義的操作方式指導的簡單辦法。★

SwiftyWalkthrough – 建立一個體驗絕佳的功能漫遊的最簡單方法,Swift 編寫。★

複製程式碼

URL Scheme

WAAppRouting – iOS 的路由實現。同時處理了 URL 識別和利用控制器顯示解析後的引數。全部這些只要一行程式碼就可以搞定,控制器堆疊還會被自動保留!

DeepLinkKit – 傑出的路由匹配框架,使用基於 block API 處理你的深連結。

IntentKit – 一個便捷的方法來在 iOS app 中處理第三方 URL schemes。

JLRoutes – 使用了 block API 的 iOS URL 路由框架。

複製程式碼

UI

Chameleon – 一個 iOS 效能強大的輕量級扁平化顏色框架,可以用於 Objective-C 和 Swift。★

ActionSheetPicker-3.0 – 為 iOS App 快速製作一個下拉 UIPickerView / ActionSheet 功能。

FlatUIKit – 適用於 iOS 的扁平化 UI 元件集合。

JVFloatLabeledTextField – 附有浮動標籤的 UITextField 子類。

SSBouncyButton – 有彈性的 iOS7 樣式按鈕 UI 元件。

BetweenKit – 一個健壯的 iOS 拖拽框架。

JSQMessagesViewController – 一個優雅的 iOS 聊天訊息 UI 庫。

AMSmoothAlert – 一個很 cool 的 AlertView。

TSMessages – 在螢幕上方顯示通知(比如成功、錯誤、警告或者訊息)檢視。

NZAlertView – 簡單直觀的 AlertView。類似推送通知的效果。

MGSwipeTableCell – 可以顯示滑動按鈕的 UITableViewCell 的子類,還支援多種過渡動畫。

ARAutocompleteTextView – subclass of 實時顯示文字提示的 UITextView 的子類。完美支援 e-mail 格式。

TGCameraViewController – 基於 AVFoundation 的自定義相機。樣式漂亮,輕量並且可以很容易地整合到 iOS 專案中。

ENSwiftSideMenu – 一個 Swift 寫的簡潔 iOS7/8 側滑選單。★

MDCSwipeToChoose – 滑動卡片來決定 “喜歡” 或者 “不喜歡” 的控制元件,效果類似 Tinder App。可以用於在幾分鐘內建立識字卡 app,圖片瀏覽器或者其他類似應用,而不用幾小時。

ParallaxTableViewHeader – UITableView header 的視差滾動效果元件。

JLToast – iOS 的 Toast 元件,提供了簡單的介面。★

SweetAlert – 為 iOS 應用提供了實時動畫效果的 AlertView,Swift 編寫而成。★

Form – JSON 驅動的列表控制元件。

BLKFlexibleHeightBar – 建立一個高度可以自動調整的 NavigationBar,類似 Facebook ,Square Cash,Safari 中的那樣。

NMPopUpView – 用於顯示浮動視窗的簡單 iOS 類。支援 Swift 和 Objective-C。★

SDevIconFonts – 用於 Swift 的 Fontawesome, Iconic, Ionicons, Octicon。★

SDevBootstrapButton – Swift 版的 Twitter Bootstrap 按鈕。★

SDevCircleButton – Swift 實現的圓型按鈕。★

SDevFlatColors – Swift 實現的扁平化顏色。★

ColorArt – 從圖片中取出主要顏色,類似 iTunes 11 的效果。

IQKeyboardManager – 防止鍵盤滑出來遮擋住 UITextField/UITextView 的框架,非侵入,無需程式碼。

WCFastCell – 滾動流暢的 Tables/Collections cell (沒有動畫)。

Motif – 一個基於 JSON 的可定製輕量級樣式表框架。

VBFPopFlatButton – 基於 Facebook POP製作的,有9種不同狀態動畫的扁平化按鈕。

HTPressableButton – 扁平化設計的可以按壓的按鈕。

Cool-iOS-Camera – 一個完全可定製的現代的照相機,使用 AVFoundation 框架實現。

AsyncDisplayKit – AsyncDisplayKit 是一個 iOS 框架,它能夠使一個很複雜的使用者介面保持平滑和反應靈敏。

AMTagListView – 一個可以新增一系列高度可定製化的標籤的 UIScrollView 子類。

MotionBlur – MotionBlur 讓你可以在 iOS 動畫效果上新增模糊效果。

PBJVision – iOS 相機引擎,支援點選拍攝,慢動作視訊和圖片捕捉功能。

DynamicColor – 又一個用於操作顏色的 Swift 擴充套件。★

GaugeKit – 可定製的儀表元件,可以方便地仿製蘋果樣式的儀表盤。★

SVWebViewController – 一個非侵入式的內建瀏覽器。

SwiftWebVC – 一個 SVWebViewController 的 Swift 實現。★

MVAutocompletePlaceSearchTextField – 一個類似 Google Places,Uber 等位置搜尋的非侵入式自動完成控制元件。

MVMaterialView – 用來模仿 Material Design 概念波紋(Ripple)效果 UI 控制元件的子類和 UIButton。

Atlas – 為 Layer 設計的原生 iOS 訊息應用 UI 元件。

Swift-Prompts – 用來設計自定義提示的 Swift 庫,有很大的範圍可供選擇。★

IQDropDownTextField – 提供了下拉 UIPickerView 支援的 UITextField。

PJAlertView – 蘋果棄用了原來好用的警告檢視,讓我們失去了很多的定製性,這個庫重新將定製性帶回來。

CZPicker – iOS 的 Popup 樣式的 UIPickerView.

TisprCardStack – 卡片 UI 庫。★

YXTPageView – 一個支援 UIView 和 UITableView 之間滾動切換的 PageView。

DatePickerDialog – 在 UIAlertView 上顯示 UIDatePicker 的 Swift 庫。★

gifu – iOS 上支援動態 GIF 的 Swift 框架。★

SAHistoryNavigationViewController – SAHistoryNavigationViewController 實現了一個在 iOS 上的類似工作管理員的 UI,相容 UINavigationContoller,3D Touch。★

DOFavoriteButton – 一個可愛的動畫按鈕。★

LNRSimpleNotifications – 簡單的 Swift app 內建通知。LNRSimpleNotifications 是一個 Swift TSMessages 簡化版本。 ★

NgKeyboardTracker – iOS 的鍵盤跟蹤 Objective-C 庫。

SAInboxViewController – 受到 “Inbox by google” 動畫過渡效果啟發的 UIViewController 子類。★

TLYShyNavBar – 不像那些 UINavigationBar 那麼傲慢。這個 Bar 很謙虛!可以很容易地建立自動滾動的 navigation bar。

BRYXBanner – Swift 的 iOS7+ 樣式的下拉通知。 ★

NYAlertViewController – 可以自定義內容檢視的 iOS AlertView,可高度自定義。

HDNotificationView – 使用模仿原生的通知橫幅 UI,發出任何警告。

MZFormSheetPresentationController – MZFormSheetPresentationController 提供了一個原生 iOS UIModalPresentationFormSheet 的替代品,新增了對 iPhone 的支援,並且可以自定義 controller 的尺寸和表單的外觀。

AnimatedTransitionGallery – 使用 UIViewControllerAnimatedTransitioning 協議實現了自定義 iOS 7 過渡動畫。

複製程式碼

WebSocket

Socket Rocket – 一個一致的 Objective-C WebSocket 客戶端庫。

複製程式碼

程式碼質量

KZBootstrap – 一系列的指令碼和註釋,程式碼質量很差時,在編譯時產生額外的錯誤和警告。

KZAsserts – 一系列的自定義斷言,使用 DSL 來自動生成 NSError,允許在 Debug 時斷言和在 Release 時捕獲錯誤。

PSPDFUIKitMainThreadGuard – 簡潔的程式碼片段,當 UIKit 在後臺執行緒被使用時生成斷言。

Flex – 一個嵌入 iOS App 的除錯和探索工具。

chisel – iOS app 的輔助除錯工具,提供了一系列的 LLDB 命令。

OCLint – 靜態程式碼分析工具,用以提高程式碼質量,減少瑕疵。

ocstyle – Objective-C 程式碼風格檢查器。

SwiftLint – 一個實驗性的工具,用於強化 Swift 的程式碼風格和習慣。★

spacecommander – 像一個團隊那樣,提交完全格式化的 Objective-C 程式碼。

DWURecyclingAlert – 優化 UITableViewCell 的滾動流暢性。

DCIntrospect – 小型的 iOS 視覺化除錯工具庫。

Watchdog – 一個用於記錄阻塞主執行緒的過重任務的類。★

Tailor – 跨平臺的 Swift 程式碼靜態分析器,它幫助你編寫更加清潔的程式碼,避免 bug。

SwiftCop – SwiftCop 是一個很實用的格式驗證庫,靈感來自 Ruby On Rails 清晰的活動記錄驗證。★

複製程式碼

分析

Flurry Analytics – 免費的 App 分析 API。

Parse Analytics – 測量 App 的使用情況,跟蹤 bug 等等。

Mixpanel – 高階分析平臺。

Localytics – 將 app 的營銷和資料分析結合起來。

Answers by Fabric – 讓你實時的洞悉使用者體驗。

Liquid Analytics – 通過分析和個性化的實時反饋辨認特定的行為。

GTrack – Google Analytics 對 iOS 的輕量級 Objective-C 封裝,並且提供了一些額外的功能。

ARAnalytics – 抽象的分析框架,提供了聰明的 API 來跟蹤事件和使用者資料。

Segment – 將分析繼承進 iOS 應用中的簡單方式。

複製程式碼

支付

Stripe – 將 Apple Pay 支付繼承到你的應用中。很適合那些缺少後臺知識的開發者。

Braintree – 提供 5 萬美金的免費支付額度,需要後臺支援。

Venmo – 在你的應用中支援和接受通過 Venmo 的支付。

Moltin – 使用簡單的 SDK 為應用新增 eCommerce,你可以建立一個銷售產品的商店,不需要後端支援。

複製程式碼

生產力

Import.io – 將網頁即時轉換為資料。

Tapglue – 是用很少的程式碼來構建社交產品和活動的 feed。

複製程式碼

工具

Underscore.m – 用來運算元據的 DSL。

SBConstants – 生成一個包含了 storyboard 中所有 identifier 的常量檔案。

XExtensionItem – 方便地在 iOS 應用和分享擴充套件至簡分享資料。

ReflectableEnum – Objective-C 列舉的反射。

VWWPermissionKit – 視覺化的 iOS 許可權管理器。

ClusterPrePermissions – 可重用的預授權工具,它可以讓開發者在對話中獲取系統許可權之前詢問使用者。

DateTools – 簡便的 Objective-C 日期和時間工具。

EKAlgorithms – 一些知名的電腦科學演算法和資料結構的 Objective-C 實現。

Tactile – 安全並且更加合乎習慣的響應收拾和控制元件事件的方式。★

Colours – 這是一套與定義的顏色和顏色方法,讓你的 iOS/OS X 開發更加方便。

ObjectiveSugar – Ruby 風格的 ObjectiveC 附件。

GroundControl – iOS 遠端配置。

OpinionatedC – 讓 Objective-C 繼承更多 Smalltalk 特性。

GCDKit – GCD 的 Swift 簡化版。★

SwiftRandom – 隨即資料生成器。★

RandomKit – Swift 隨機資料生成器。★

Async – Swift 的 GCD 非同步派發語法糖。★

YOLOKit – 讓方塊透過圓洞。

EZSwiftExtensions – :smirk:標準型別和類是如何工作的。★

複製程式碼

安全

UICKeyChainStore – UICKeyChainStore 是一個對 Keychain 的簡潔封裝。

cocoapods-keys – 一個用來儲存環境和應用鍵值的鍵值儲存。

Valet – 在 iOS 和 OS X 的 Keychain 中安全地儲存資料,然而你無需知道 keychain 的具體工作細節。

libextobjc – 一個用於擴充套件 Objective-C 程式語言的 Cocoa。

Locksmith – 方便 Keychain 使用的強大的 Swift 面向協議庫。★

simple-touch – 非常簡單的生物識別認證服務(Touch ID)的 Swift 封裝。

複製程式碼

依賴 / 包管理

Cocoa Pods – CocoaPods 是一個 Objective-C 專案的依賴管理工具。它擁有成千上萬個庫,它們可以使你的專案更加優雅。

Xcode Maven – Xcode Maven 外掛,它可以將 Xcode 構建過程嵌入 Maven 的生命週期中。

Gradle – Xcode 的 gradle 外掛,可以使用 gradle 來構建 iOS 或者 Mac OS X 專案。

Carthage – 簡單的分散式的 Cocoa 依賴管理器。★

SWM (Swift Modules) – 一個類似 npm(node.js的包管理器)或者 bower(Twitter 的瀏覽器的包管理器) 的 Swift 專案的包/依賴管理器,無需使用 Xcode。★

Alcatraz – Xcode 包管理工具.

CocoaSeeds – Cocoa 的 Git 子模組替代品。

複製程式碼

測試

測試驅動開發/行為驅動開發(TDD / BDD)

Kiwi – 一個用於 iOS 開發的 BDD 庫。

Specta – 輕量級 TDD / BDD Objective-C & Cocoa 開發框架。

Quick – Swift 和 Objective-C 的 BDD 框架。

XcodeCoverage – Xcode 專案程式碼覆蓋率。

OHHTTPStubs – 方便地為你的網路請求做存根(Stub)! 使用網路假資料測試你的 app ,你也可以自定義響應時間,響應程式碼和響應頭!

Dixie – Dixie 是一個開源的 Objective-C 測試框架。用於改變物件的行為。

gh-unit – Objective-C 的測試框架。

複製程式碼

UI 測試

CrashMonkey – iOS 平臺的 Monkey 測試工具。

appium – Appium 是一個開源自動化測試框架。用於測試原生或者混合 app。

robotframework-appiumlibrary – AppiumLibrary 是一個用於 RobotFramwork 的 appium 測試框架。

Cucumber – iOS BDD 框架。

Kif – 一個 iOS 的函式式測試框架。

Subliminal – 一個保守的 iOS 整合測試框架。

UIAutomation – 一個使用指令碼在連線著的裝置上測試你的使用者介面元素的 JavaScript 庫。

ios-driver – 使用 Selenium / WebDriver 測試任何 iOS 原生,混合或者移動 web 應用。

Zucchini – 視覺化的 iOS 測試框架。

Remote – 在 Xcode 內部控制你的 iPhone 來做端到端的測試。

複製程式碼

其他測試

NaughtyKeyboard – 一個危險字串的大列表,當使用者輸入這些字串使有很大的可能會造成 bug,這是一個用於在你的 iOS 裝置上測試你 app 的鍵盤。

PonyDebugger – 使用 Chrome 開發者工具對你的 iOS app 進行遠端網路和資料除錯。

ios-snapshot-test-case – 使用螢幕快照的 iOS 單元測試。

複製程式碼

工具鏈

RubyMotion – RubyMotion 是一個革命性的工具鏈。它可以讓你快速地開發和測試原生 iOS 和 OS X 應用,全部使用 Ruby 語言。

複製程式碼

工具

Shark – 用於將 .xcassets 資料夾轉換成一個型別安全列舉的 Swift 指令碼。★

R.swift – 在 Swift 專案中,強型別的自動補全資源名稱的工具,包括圖片,單元格和 segue 的工具。★

SwiftGen – 一個生成 Swift 程式碼工具的集合(生成資源的列舉,storyboard,本地化字串和 UIColor)。★

Localize-Swift – Swift 2.0 實現在應用中切換語言的功能,幫助你的 APP 實現友好的本地化和國際化。★

Blade – 為 iOS 和 OS X 應用生成 Xcode 圖片目錄,全域性圖片和其他相關的東西。

Retini – 一個超級簡單的 Retina(2x,3x)圖片轉換器。

Provisioning – 一個檢視器外掛,用於預覽 .mobileprovision 檔案。

Strsync – 自動翻譯並且使 .strings 檔案和預設語言同步。

複製程式碼

部署

fastlane 將所有 iOS 部署工具整合到一個工作流中。

deliver 部署截圖,app 後設資料和 AppStore app 更新,這一切只需要一個命令就可以搞定。

snapshot 自動地建立全部語言和全部裝置的螢幕截圖。

複製程式碼

Xcode

外掛

FuzzyAutocompletePlugin – 提供了除字首匹配之外的其他更加靈活的自動補全功能,支援 Xcode 5+。

SCXcodeMiniMap – SCXcodeMiniMap 為 Xcode 新增了程式碼地圖功能

Show in Github – 可以直接開啟 Github 上當前正在編輯的行對應的 commit 頁面。

BBUFullIssueNavigator – 這個外掛讓 Xcode 在 issue 導航欄顯示所有的 issue 內容。

BBUDebuggerTuckAway – 當你開始編輯的時候幫你隱藏偵錯程式欄的 Xcode 外掛。

SCXcodeSwitchExpander – SCXcodeSwitchExpander 是一個可以幫你展開 switch 語句的外掛,還會自動幫你插入 case 語句。

VVDocumenter-Xcode – 方便的編寫標準註釋的 Xcode 外掛。

複製程式碼

其他 Xcode 外掛

Synx – 一個重新組織你的 Xcode 專案的命令列工具,它能夠讓你的 group 和資料夾對應起來。

dsnip – 可以在本地為所有的 UIKit 協議/代理方法(UITableView,…)生成 Xcode 程式碼片段的工具。

複製程式碼

編碼規範

NY Times – Objective C Style Guide – 紐約時報使用的 Objective-C 編碼規範。

raywenderlich Style Guide – 一個描述 raywenderlich.com 編碼習慣的程式碼規範。

Github Objective-C Style Guide – Objective-C 專案的編碼規範和慣用法。

Objective-C Coding Convention and Best Practices – 一份描述編碼習慣的 Gist。

Swift Style Guide by @raywenderlich – raywenderlich.com 官方的 Swift 編碼風格規範。★

Spotify Objective-C Coding Style – Spotify 的 iOS 開發指導。

Dropbox Objective-C Style Guide – Dropbox 的 Objective-C 程式碼風格指南。

Github – Style guide & coding conventions for Swift projects – github 的 Swift 編碼風格和習慣指南。★

Futurice iOS Good Practices – @futurice 介紹的 iOS 入門指南和最佳實踐。

複製程式碼

來自第三方轉載

小編推薦一個群551346706群裡有很多大牛和學習資料,BAT面試題 有興趣的話可以加一下

相關文章