iOS 程序员必须收藏的资源大全

这个列表分为以下几个部分:框架( 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 中显示动画 http://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面试题 有兴趣的话可以加一下

你可能感兴趣的:(iOS 程序员必须收藏的资源大全)