GitHub 上排名前 100 的 IOS 开源库简介
2018-12-26 本文已影响51人
孙卓卓
项目名称 项目信息
- AFNetworking
作者是 NSHipster 的博主, iOS 开发界的大神级人物, 毕业于卡内基·梅隆大学, 开源了许多牛逼的项目, 这个便是其中之一, AFNetworking 采用 NSURLConnection + NSOperation, 主要方便与服务端 API 进行数据交换, 操作简单, 功能强大, 现在许多人都用它取代 ASIHTTPRequest - GPUImage
一款强大的图片滤镜工具, 支持自定义滤镜, 可用来实时处理图片和视频流, 作者是 SonoPlot 公司的 CTO, 在很小的时候便开始接触编程, 他在 SO上面的回答也有很多值得阅读, GPUImage 这个项目从 2012 年开始, 使用 OpenGL 图形程序接口编写, 性能非常好, 现在很多 iOS 程序员都用它来实现 iOS 的模糊效果 - SDWebImage
作者 Olivier Poitrey 是 Dailymotion 的 CTO, 拥有多个不错的开源项目, 此项目常用于对从 Web 端接受到的图片进行缓存, 是 UIImageView 的扩展, 应用起来比较简单 - RestKit
主要用于 iOS 上网络通信, 允许与 RESTful Web 服务交互, 常用于处理 API, 解析 JSON, 映射响应对象等操作, 简单易用, 方便你把所有精力都放在对数据的操作上 - ReactiveCocoa
由 GitHub 工程师们开发的一个应用于 iOS 和 OS X 开发的函数响应式编程新框架, Matt 称其为 "An open source project that exemplifies this brave new era for Objective-C", 也有人说它是 Cocoa 的未来, 具体可看唐巧写的这篇文章 - three20
由 Facebook iOS 客户端衍生出的一款 iPhone 框架, 内置许多丰富的功能, 有丰富的界面, 对底层的操作便捷, 为开发者省下了很多时间, 但现在已经停止了更新, 一个 PR 把代码删得干干净净, 不要好奇去点开 Files changed, 我点开后该页面直接卡死, three20 当中的一位作者创建了 Nimbus, 算是 three20 的一个替代品 - MBProgressHUD
作者 Matej Bukovinski 是一位全栈工程师, UI/UX 设计师, 此项目是一款提示框第三方库, 帮助开发者快速应用到项目中) - MagicalRecord
作者是 Coursera 的 iOS 工程师, 该项目创作灵感来自于 Ruby on Rails 的 Active Record, 主要为方便操作 CoreData 而生, 帮助清除 CoreData 引用的代码, 协助方便 CoreData 的工作 - FMDB
一个对 SQLite 进行封装的库, 使用起来方便, 简单 - Mantle
作者是 GitHub 的员工, 文档写的很清楚: Mantle makes it easy to write a simple model layer for your Cocoa or Cocoa Touch application, 主要用来将 JSON 数据模型化为 Model 对象, 唱吧在前段时间也改用 Mantle 了. - FlatUIKit
收集了很多扁平化 UI 的 iOS 组件, 方便使用 - ASIHTTPRequest
一个轻量级的 iOS 网络通信类库, 基于 CFNetwork 框架开发, 但现在已经停止更新, 多数开发者改用 AFNetworking 替代) - FastImageCache
Path 公司出品的 iOS 库, 作者 Mallory Paine 是苹果前员工, 此类库适用于在滚动时快速显示图像, 高速持久是其最大的特点 - Masonry
一个轻量级的布局框架, 同时支持 iOS 和 Mac OS X, 语法优雅, 帮助开发者快速适配不同分辨率的 iOS 设备 - Shimmer
Facebook 推出的一款具有闪烁效果的第三方控件, 供它旗下一款名为 Paper 的应用使用, 安装使用整个过程都十分简单 - SVProgressHUD
又一款轻量级的 iOS 第三方控件, 用于显示任务加载时的动画, 非常轻便, 容易使用 - Slate
一款窗口管理应用程序, 但在两年前就已经停止更新了 - JSONKit
主要用于解析 JSON, 适用于 iOS6 以下环境, 自从 iOS5 开始 Apple 官方给出了 NSJSONSerialization API, 自此大家都用官方的了 - Nimbus
作者 Jeff 曾为 Facebook, Google 做过不少好东西, 也是 three20 的成员之一, three20 停更后, 他创造出这个框架来代替 three20, 文档齐全 - CocoaLumberjack
这是 Mac 和 iOS 的一款强大的日志框架, 配置简单, 多线程, 提供更高级的 log 功能, 可用于代替默认的 NSLog 语句 - Facebook SDK for iOS
Facebook 官方的 iOS SDK, 方便开发者集成 Facebook 的一些功能到自己的 iOS APP 里面 - AsyncDisplayKit
Facebook 开源的一款 iOS UI 框架, Paper 用的就是该框架, 另外框架还用到了 Facebook 早期开源 Pop 动画引擎 - Alcatraz
Alcatraz 是一款管理 Xcode 插件、模版以及颜色配置的工具, 可以集成到 Xcode 的图形界面中, 安装删除都是几条命令的事, 很方便, 支持自己开发插件并上传 - ViewDeck
一款开源的 iOS 活动面板组件, 还原 Path 2.0 的侧滑效果, 作者因为时间关系在两年前停止对其更新 - JSQMessagesViewController
优雅的 iOS 消息类库, 常用于聊天应用中, 可定制性高 - FLEX
这是 Flipboard 官方发布的一组专门用于 iOS 开发的应用内调试工具, 开发者无需将其连接到 LLDB/Xcode 或其他远程调试服务器,支持直接在 App 中运行 - Xctool
是 Facebook 开源的一个命令行工具,用来替代苹果的 XcodeBuild 工具, 极大的方便了 iOS 的构建和测试, 输出错误信息也比较友好, 受到许多 iOS 开发者的称赞, 经常与其搭配使用的还有 OCUnit, Travis CI, OCLint 等测试工具 - OpenEmu
超强的游戏模拟器, 做游戏开发必备, 官网做得也很不错 - iCarousel
作者是英国 Charcoal Design 公司的创始人, 开源领域的贡献颇为卓著, 这个项目就是其中之一, 这是一款可以在 iOS 上实现旋转木马视图切换效果的第三方控件, 并提供多种切换效果 - RESideMenu
作者 Roman Efimov 是雅虎的 iOS 工程师, 这个项目实现了 iOS 上的菜单侧滑效果, 创意来源于 Dribbble, 该项目支持 iOS8
31 PNChart
作者周楷雯是 90 后, 秒视的创始人, 该项目是一个带动画效果的图表控件, 简约易用, 受到不少开发者喜爱
31.2PonyDebugger
由 Square 公司推出的一款优秀的 iOS 应用网络调试工具, 用户可以实时看到应用程序的网络请求, 也可以对 iOS 应用程序的核心数据栈进行远程调试 - JVFloatLabeledTextField
作者是 Thumb Labs 的联合创始人, JVFloatLabeledTextField 是 UITextField 的子类, 主要实现输入框标签浮动效果, 创作灵感来自 Dribbble, 已出现多个移植版本 - SWTableViewCell
UITableViewCell 的子类, 实现了左右滑动显示信息视图并调出按钮 - AwesomeMenu
作者是一位中国人, 该项目主要是使用 CoreAnimation 还原了 Path menu 的动画效果 - Reachability
Reachablity 是用于检测 iOS 设备网络环境的库 - VVDocumenter-Xcode
作者是王巍国内著名的 iOS 开发者, 人称喵神, 目前在日本 LINE 公司工作, 该项目帮助开发者轻松的生成注释文档, 节省了不少工作量, 赞 - The Physical Web
由 Chrome 团队主导的一个项目, 意在用 URL 连接世界, 方便用户接受数据, 目前尚处在实验阶段 - NewsBlur
作者独自一个人 Samuel Clay 做出来的一款名为 NewsBlur 的新闻阅读器, 很多人都称其为 Google Reader 的替代品, 这是它的源码 - Cocos2D-SpriteBuilder
一个可用于在 iOS, Mac 和 Android 上制作 2D 游戏或其它图形/交互应用的框架, 之前的项目名称为 Cocos Swift, 目前该项目在 GitHub 上更新较为频繁 - TTTAttributedLabel
UILabel 的替代品, 使 iOS 上的 Label 功能更加丰富, 可支持链接植入等功能 - CocoaAsyncSocket
一个功能强大、简单易用的异步 socket 通讯类库, 支持 TCP 和 UDP 协议, 可用于 Mac 和 iOS 设备上, 作者 Robbie Hanson 是 Deusty 的首席软件工程师 - TapkuLibrary
作者是 Devin Ross, 这是在 iOS 上一款功能强大的 UI 效果类库, 可以实现多种酷炫的效果, 目前仍在更新中 - Canvas
无需编码实现牛逼的动画效果的库, 连设计师都可以快速上手 - SocketRocket
Square 公司开源的一个 WebSocket 客户端, 稳定并且易用, 做实时应用常会用到, 受广大开发者喜爱 - ECSlidingViewController
一个视图控制器容器, 将子视图处理成两层, 通过滑动来处理层的切换, 创作灵感来自 Facebook 和 Path的 App, 作者是 Cleveland 的员工 - Json Framework
用于解析 JSON 数据的一个框架, 但是在 iOS5 以上版本大多数人都选择使用 NSJSONSerialization 来解析 JSON, 该项目现在在 GitHub 上也几乎没怎么更新了 - Tweaks
Facebook 开源的一款工具, 旨在帮助 iOS 开发者更快的迭代应用, 方便用户动态的调整参数, 是的, Paper 这个项目也用到了 - realm-cocoa
Realm-Cocoa 是 Realm 公司推出一款移动端数据库, 可以运行在手机、平板和可穿戴设备之上, 其目标是取代 CoreData 和 SQLite 数据库 - BlocksKit
一个开源的与 Cocoa 紧密集合的基础性框架 - Appirater
一款用于提醒用户给你的 App 打分的工具 - KIF
Square 出品的一个开源的用户界面测试框架, 极大的简化了 iOS 开发者的 UI 测试流程 - SlackTextViewController
Slack 推出的一款具有文字输入框高度自适应, 自动输入, 复制单元格内容等功能的解决方案 - JazzHands
IFTTT 开源的一个简单易用的关键帧基础动画框架, 可通过手势、scroll views, KVO, ReactiveCocoa 等方式来控制动画 - Bolts-iOS Bolts
是一个 Parse 和 Facebook 在内部使用的底层库, 方便移动开发 - Spectacle
一款易用的 OS X 窗口分屏操作快捷键工具, 这是其源代码 - nui
方便样式化 iOS 应用中的 UI 元素, 可在短时间内样式化整个应用, 类 CSS 原理 - Induction Induction
是一款用于理解数据关系的管理工具, 这是其程序代码 - JSONModel
一个能迅速解析服务器返回的 Json 数据的库, 方便数据的类型转换 - DTCoreText
一个开源的 iOS 富文本组件, 它可以解析 HTML 与 CSS 并最终用 CoreText 绘制出来, 通常用于在一些需要显示富文本的场景下代替低性能的 UIWebView - Popping
基于 Facebook Pop 引擎的 iOS 动画库, 集合了很多动画效果 - TSMessages
一个用来弹出显示警告和通知的轻量级库, 样式丰富, 简单易用 - KVOController
一个简单安全的 KVO(Key-value Observing, 键-值 观察)工具, 提供简单方便、线程安全的API, Facebook 的开源项目之一 - MWPhotoBrowser
一款简单的 iOS 照片浏览控件 - MMDrawerController
一个轻量级, 易于使用的侧边抽屉导航 iOS 控件 - QuickDialog
用于快速创建复杂的 iOS 表单, 自定义了 UITableViewCell, TableView 的样式 - SVPullToRefresh
一款只需一行代码便可集成上拉刷新和下拉加载的组件 - cheddar-ios
Cheddar 是一款简单易用的日程管理软件, 这是其早期版本的开源代码, 该项目已停止维护 - XVim
一款在 Xcode 上实现了 Vim 功能的插件 - EGOTableViewPullRefresh
一款提供下拉刷新的控件, 最后更新时间是一年前 - iOS-boilerplate
iOS 应用程序的基础模板, 使用该模板可以省掉许多项目初始编码的工作, 内置非常多丰富的功能, 现已经停止维护 - JASidePanels
一个 UIViewController 容器, 灵感来自 Facebook 和 Path 2.0 应用的菜单, 实现了左右侧滑的操作 - FormatterKit
收集了很多构思优秀的 NSFormatter 子类
74.MSDynamicsDrawerViewController
实现了具有动态弹性效果的抽屉式侧边导航栏, 效果丰富, 可定制性强 - idev-recipes
iDevRecipes 博客的代码, 演示如何实现一些有趣的控件, 该项目在两年前(2013)停止了更新 - XMPPFramework
一个基于 RFC-3920 实现, 支持多线程和线程保护, 同时通用于所有的 iOS 和 Mac OS 开发设备的通信框架. - MacGap1
一款可以将 HTML/CSS/JS 网络应用打包成原生 Mac App 的工具 - FXBlurView
iOS 模糊背景类库, 可以方便的根据底层显示的状态生成模糊效果 - iOS7-Sampler
整合演示了多个具有 iOS7 新特性的的项目, 提供了非常多的例子参考 - PromiseKit
提供强大的 iOS 开发异步功能, 是 Promises 的实现, 受到广大开发者的追捧 - Origami
此为 Facebook 推出的 Quartz Composer 的一个开源插件, 由其设计团队花费了 9 个月打造而成, 目的是为方便设计师快速构建原型, 以零代码完成复杂动画的合成和测试, 堪称神器 - NSLogger
一款强大的日志分析工具, 具有大窗口查看 Log, 自定义日志等级等功能 - KSImageNamed-Xcode
一款对 UIImage 的 imageNamed 提供自动补全功能的插件, 非常方便 - PureLayout
一个简单却强大的 AutoLayout API 库, 兼容了 Objective-C 和 Swift, 扩展了 UIView/NSView, NSArray, 和 NSLayoutConstraint - AppleDoc
一款 Objective-C 文档生成工具, 生成的文档风格保持与 Apple 官方的一致, 极大的方便了 Xcode 识别自己写的 API 文档, 安装也是十分的简单 - iTerm2
iTerm2 被不少程序员称赞为 Mac 下最好用的终端, 这是其源代码, 配合 oh-my-zsh 使用效果更佳 - Kiwi
一个行为驱动开发测试框架, 适用于 iOS 平台, 旨在为开发者提供一个简单配置便可使用的 BDD 库 - terminal-notifier
一款命令行工具, 用来给 Mac OS X 用户发送通知 - MacDown
Mac OS X 下的一款开源的 Markdown 编辑器, 创意来自与 Mou, 使用 brew cask 即可完成安装 - TwUI
Twitter 开源的一个支持硬件加速的 Mac 的 UI 框架, 最后一次的更新时间是在 3 年前(2012) - PaperFold for iOS
实现了类似折纸效果的视图切换, 可从不同方向进行切换, 该项目已经许久未更新 - Reader
一款开源的 iOS PDF 阅读器, 附带书签, 列纲要等功能 - WebViewJavascriptBridge
一个方便使用 Objective-C 与 JavaScript 进行通信的第三方库, 支持消息发送, 接收, 消息处理器的注册与调用以及设置消息处理的回调 - iOS8-Sampler iOSX-Sampler 系列之一,
整合演示了多个具有 iOS8 新特性的的项目, 提供了非常多的例子参考 - CocoaHTTPServer
一个用于 Mac OS X 或 iOS 应用的轻量级、可嵌入的HTTP 服务器框架, 方便开发者在应用中嵌入一个 HTTP 服务器 - Kod
Mac OS X 上一款专为程序员打造的编辑器, 这是其开源代码, 可惜的是作者在 2011 年停止了维护 - TPKeyboardAvoiding
下拉键盘在 iOS 移动文本字段的通用解决方案, 能够自动处理键盘弹出后出现遮挡到文本输入框的问题 - MKNetworkKit
一个轻量级网络请求框架, 完全基于 ARC, 仅有两个类, 具有自主操作多个网络请求, 更加准确的显示网络活动指标等优点 - PKRevealController
一个 iOS 平台上的视图控制器集合, 通过展现多个视图控制器来进行控制器之间的切换. 设置简单, 高度灵活 - AQGridView
一个命令行工具, 通过项目里的 .xcdatamodel 文件, 可以为每个 entity 生成两个类, 方便 CoreData 的使用