iOS常用开发工具及第三方框架
2017-10-25 本文已影响81人
番薯大佬
iOS开发中使用到的工具,以及为了避免重复造轮子,也为了更快、更有效的地进行开发,常常引用的第三方框架,像网络请求的AFNetworking,数据持久化的FMDB,请求提示符MJRefresh,还有数据解析,特殊处理后的UI视图等等。
配置&装机工具
名称 | 说明 |
---|---|
Homebrew | 套件管理器 |
cocoapods | 第三方框架管理工具 |
rubygems | |
ruby.taobao | 淘宝镜像 |
常用开发工具
名称 | 说明 |
---|---|
官方Xcode使用介绍 | |
LSUnusedResources | 查找项目中未使用文件 |
MLeaksFinder | 内存泄露检查 |
Easy APNs Provider - 推送测试工具 | 为iOS、Mac app提供推送测试的小工具 |
xctool | |
Quick | 用于Swift中的单元测试(也可用于Objective-C),与Xcode整合在一起。 |
网络框架
名称 | 说明 |
---|---|
AFNetworking | AFNetworking是一个轻量级的iOS、Mac OS X网络通信类库 |
MKNetworkKit | 一个完全基于 ARC,使用十分方便,功能又十分强大、完整的iOS网络编程代码库。 |
ASIHTTPRequest | 是一款极其强劲的HTTP访问开源项目,能够让简单的API完成非常复杂的功能,比如异步请求、队列请求、GZIP压缩、缓存、断点续传、进度跟踪、上传文件、HTTP认证。 |
AFNetworking-RACExtensions | 针对ReactiveCocoa的AF封装 |
猿题库网络请求 | 一个开源的AFnetworking上层的封装(猿题库等运用) |
SocketRocket | 适用于iOS,macOS和tvOS的符合规范的WebSocket(RFC 6455)客户端库 |
CocoaAsyncSocket | CocoaAsyncSocket为Mac和iOS提供易于使用和强大的异步套接字库 |
Reachability | 验证网络连接状态 |
UUChatTableView | IM对话功能的封装 |
NetworkEye | 监控网络请求的内容 |
RestKit | Restkit是一个主要用于iOS上网络通信的开源Objective-C框架,除了发送请求、接受响应这些基本功能外,还附带Core Data,以及将远程JSON映射为本地对象的功能。 |
XMPPFramework | XMPPFramework是一个使用Objective-C编写的用于Mac/iOS开发的XMPP框架,它提供了一个RFC-3920(XMPP标准)核心实现,通过某些特定工具读写XML。XMPPFramework有着非常丰富的建立在模块化架构之上的XEP扩展,开发者可以将其直接插入到代码中,使用GCD构成,即使是在非常老旧的iPhone或12核Mac Pro上,它都能高效运转。 |
CocoaHTTPServer | CocoaHTTPServer是一个用于Mac OS X或iOS应用的轻量级、可嵌入的HTTP服务器框架。有时候开发者需要在他们的App中内嵌一个HTTP服务器。无论是具有远程监控功能的服务器应用,还是使用HTTP进行后端通信的桌面应用,或者是提供无线访问文档功能的iOS应用,CocoaHTTPServer都能满足你的开发要求。 |
Alamofire | 如果你需要进行网络的相关工作,诸如下载、上传与获取JSONs等等的话,Alamofire正是你所需要的。 |
视图控制器框架
名称 | 说明 |
---|---|
ViewDeck | 抽屉视图控制器,能够实现类似于Path 2.0 的视图左右滑动的效果,支持向左或向右顺滑的滑动操作。 |
MSDynamicsDrawerViewController | iOS7风格的抽屉导航 |
MGSplitViewController | 用于iPad左右分栏界面显示,分栏类功能比系统提供的UISplitViewController更加丰富 |
RDVTabBarController | 底端页签视图控制器 |
PKRevealController | PKRevealController是一个可以滑动的侧边栏菜单(可向左、向右或者同时向两侧),只需手指轻轻一点(或者按一下按钮,但是这样滑动时不够炫酷)。 |
RESideMenu | 侧滑菜单 |
数据持久化框架
名称 | 说明 |
---|---|
JSONKit | JSON数据解析 |
Mantle | 数据model |
Lockbox | 安全存储用户名,密码等 |
SDURLCache | 将缓存存在磁盘 |
MagicalRecord | MagicalRecord就像是给Core Data提供了一层外包装,隐藏掉所有不相关的东西。 |
SwiftyJSON | 使Swift的JSON解析。 |
KeychainAccess | 管理Keychain接入的小助手 |
MJExtension | 解析JSON字典数组转模型 |
JSONModel | 解析JSON数据转模型 |
Mantle | 将json数据模型化model对象 |
GDataXML | DOM方式解析,由google开发,基于Libxml2.。Google提供的用于XML数据处理的类集。该类集对libxml2–DOM处理方式进行了封装,能对较小或中等的xml文档进行读写操作且支持XPath语法。纯c语言,默认包含在ios SDK中,同时支持DOM和SAX方式解析 |
hpple | 解析html之后获取的资源模型对象 |
fmdb | 第三方SQLite数据库框架。以OC的方式封装了SQLite的C语言API,提供 SQLite 数据库的类,用于执行 SQL 语句。 |
chart图表
名称 | 说明 |
---|---|
charts | iOS图表库 |
PNChart | 带动画效果的图表控件 |
图片处理
名称 | 说明 |
---|---|
SDWebImage | 图片加载 |
GPUImage | 一个基于GPU图像和视频处理的开源iOS框架。 |
EBPhotoPages | 图片浏览 |
GMGridView | 照片墙 |
TwitterCover | 下拉头图放大 |
多媒体处理
名称 | 说明 |
---|---|
视频播放器 | |
音频播放完整客户端 | |
豆瓣音频播放 | |
音频播放流 | |
AudioEngine | |
MiaowShow | iOS视频直播项目 |
动画
名称 | 说明 |
---|---|
动画 | 使动画在简单性、可链接性与声明性方面有所提高。 |
pop | facebook出品的动画框架 |
JazzHands | 图片动画,多用于启动页 |
UI处理
名称 | 说明 |
---|---|
SlackTextViewController | 自适应文本区域、手势识别、自动填充、多媒体合并 |
FontAwesomeKit | Font Awesome可以很容易地给项目加字体,使用方式繁多。 |
FontBlaster | 定制字体 |
SnapKit | 在board中用上SnapKit,可以简单直观地编写约束。 |
MBProgressHUD | 加载提示框 |
SVProgressHUD | 显示提示框的框架 |
TTTAttributedLabel | UILabel 的替代品, 使 iOS 上的 Label 功能更加丰富, 可支持链接植入等功能 |
iCarousel | iCarousel 是一个用来简化在 iOS 上实现旋转木马时的视图切换效果,支持 iPad,提供多种切换效果。内容类似的页面需要并排列出来,供用户选择 |
SDCycleScrollView | 轮播图,但是伪无限循环 |
NJKWebViewProgress | 网页加载进度 |
SMPageControl | 可自定义的分页控件 |
JDStatusBarNotification | 在状态栏显示的顶部指示器 |
SDCAlertView | 类似系统自带的指示器,应该是对系统自带的指示器进行封装 |
ActionSheetPicker-3.0 | ios自定义选择器 |
AGEmojiKeyboard | 表情键盘 |
MWPhotoBrowser | 这是一个简单的iOS照片浏览器可选的网格视图,标题和选中功能 |
FDStackView | 第三方的类似UIStackView,可以支持到iOS6+ |
TableView&CollectionView处理
名称 | 说明 |
---|---|
DZNEmptyDataSet | 用来处理空的table view和collection view |
RETableViewManager | 动态创建与管理table views。它给我们提供了预定义cells(bool类型、文本、日期等等——请看下面的截图),但是你还可以创建自定义views,并与默认视图一同使用。 |
MGSwipeTableCell | Swipeable表格cell的操作管理 |
UITableView+FDTemplateLayoutCell | 百度开源项目,UITableViewCell自适应高度 |
SWTableViewCell | UITableViewCell 的子类, 实现了左右滑动显示信息视图并调出按钮 |
日历
名称 | 说明 |
---|---|
PDTSimpleCalendar | 日历组件 |
刷新
名称 | 说明 |
---|---|
MJRefresh | 上拉和下拉刷新框架 |
适配
名称 | 说明 |
---|---|
Masonry | 对AutoLayout封装,比苹果官方好用 |
插件
名称 | 说明 |
---|---|
VVDocumenter-Xcode | Xcode插件,帮助开发者轻松在Xcode生成注释 |
地图定位
名称 | 说明 |
---|---|
intuit/LocationManager | 第三方定位框架 |
游戏
名称 | 说明 |
---|---|
cocos2d-swift | cocos2d |
其他
名称 | 说明 |
---|---|
ZipArchive | 解压缩框架 |
ZipArchive | 解压缩框架 |
appirater | 用于提醒用户给你的 APP 打分的工具 |
ReactiveCocoa | 函数式响应式编程框架 |
BlocksKit | block框架 |
LBXScan | 二维码、扫码、扫一扫、ZXing和ios系统自带扫码封装,扫码界面效果封装 |
marcuswestin/WebViewJavascriptBridge | JS和OC交互的框架,比如拦截URL |
erica/uidevice-extension | 主要用于读取各种平台(iPhone、iPad、模拟器)下设备的信息 |
iOS-Runtime-Headers | 这个iOS运行时头文件项目。看看私有API列表。iOS (Cocoa Touch)的各私有API都可以通过runtime查看获得 |
RuntimeBrowser | 运行浏览器 |
iphone-private-frameworks | iOS 私有API库 |
调试工具
名称 | 说明 |
---|---|
YYViewHierarchy3D | 3D效果查看 UIView 层次结构 |
Injection for Xcode | Xcode高端必备插件。iOS UI调试神器,成吨的提高开发效率 |
Facebook工具
名称 | 说明 |
---|---|
FBKVOController | Facebook的开源框架KVO观察者 |
YY工具集
名称 | 说明 |
---|---|
YYKit | YYKit 是一组庞大、功能丰富的 iOS 组件 |
YYModel | iOS JSON 模型框架 |
YYCache | iOS 缓存框架 |
YYImage | iOS 图像框架 |
YYWebImage | iOS 异步图像加载框架 |
YYText | iOS 富文本框架 |
YYKeyboardManager | iOS 键盘监听管理工具 |
YYDispatchQueuePool | iOS 全局并发队列管理工具 |
YYAsyncLayer | iOS 异步绘制与显示的工具 |
YYCategories | 功能丰富的 Category 类型工具库 |