iOS开发-常用第三方开源框架倾情整理!

iOS开发-常用第三方开源框架
分享一下我目前所在公司 iOS 项目中用到的一些 iOS 开源库和第三方组件, 感谢开源, 减少了我们的劳动力, 节约了我们大量的时间, 让我们有更多的时间和精力能更加专注的做好自己的产品

Objective-C篇

AFNetworking


https://github.com/AFNetworking/AFNetworking
在众多iOS开源项目中,AFNetworking可以称得上是最受开发者欢迎的库项目。AFNetworking是一个轻量级的iOS、Mac OS X网络通信类库,现在是GitHub上第三大Objective-C库。它建立在NSURLConnection、NSOperation等类库的基础上,让很多网络通信功能的实现变得十分简单,因此,许多iOS应用开发都会使用到它。
支持HTTP请求和基于REST的网络服务(包括GET、POST、PUT、DELETE等);
支持ARC;
要求iOS 5.0及以上版本;
有一些插件扩展已有的功能,还有一个功能齐全的API;
从URL中获取JSON特别简单。

SDWebImage
https://github.com/rs/SDWebImage
图片异步下载和缓存管理的集大成者 UITableView的黄金搭档 其代码被开发者研究分享过无数次喵大的Kingfisher(可以说是Swift版的SDWebImage)也是深受其影响;
异步下载AFNetworking和MKNetworkKit都有实现 数据缓存也有FastImageCache与TMCache等 但是将其融会贯通的 唯有SDWebImage了;
除了简单的使用sd_setImageWithURL之外 SDImageCache也是可以独立使用的 功能也相当之强大。

MBProgressHUD
https://github.com/jdg/MBProgressHUD
简单易用且稳定的HUD组件,半透明黑底白字的风格也经久不衰,loading提示的最佳选择。

SVProgressHUD
https://github.com/SVProgressHUD/SVProgressHUD
另一个牛叉的单例HUD,SVProgressHUD能够实现多种HUD效果,多用于程序正在执行耗时较长的任务,需要用户等待。除了显示等待的HUD,还可以显示命令执行成功或者失败的HUD。

LCProgressHUD
https://github.com/iTofu/LCProgressHUD
一个超简单的活动指示器。适配横屏。
只是觉得 MBProgressHUD 太麻烦了,所以再搞了一遍。

GMDCircleLoader
https://github.com/gabemdev/GMDCircleLoader
GMDCircleLoader 是一个简洁易用的加载视图,类似显示任务进展的苹果加载视图。

MJRefresh


https://github.com/CoderMJLee/MJRefresh
用法简单的下拉刷新框架:一行代码搞定

JHRefresh
https://github.com/Jiahai/JHRefresh
可快速自定义下拉刷新界面

MJExtension


https://github.com/CoderMJLee/MJExtension
转换速度快、使用简单方便的字典转模型框架

JSONModel


https://github.com/icanzilb/JSONModel

TTQRCodeScanner
https://github.com/change2hao/TTQRCodeScanner

社会化分享SDK
ShareSDK3
https://github.com/MobClub/ShareSDK3.x-for-iOS
MOBFoundation
https://github.com/MobClub/MOBFoundation
ShareSDKUI
https://github.com/MobClub/ShareSDKUI

IQKeyboardManager
https://github.com/hackiftekhar/IQKeyboardManager
iOS 键盘自适应,再也不用担心键盘挡住输入框了

WMPageController
https://github.com/wangmchn/WMPageController
实现控制器翻页的简单解决方法

DCPathButton
https://github.com/Tangdixi/DCPathButton

ZYQAssetPickerController
https://github.com/heroims/ZYQAssetPickerController
ZYQAssetPickerController 可同时选择本地相册的多张照片,然后将它们显示在ScrollView中。支持iOS 5.0 以上。支持横竖屏,支持iPhone以及iPad,高度可自定制化。

WTReTextField
https://github.com/pieceofsummer/WTReTextField
WTReTextField 是 UITextField 的之类,实现了通过正则表达式对输入值进行限制的功能。

FDFullscreenPopGesture
https://github.com/forkingdog/FDFullscreenPopGesture
利用Runtime自定义控制器POP手势动画

EScrollerView
https://github.com/Gorilla957/EScrollerView
一个可以自动滚动的跑马灯(幻灯、图片滚动)

Swift篇

Alamofire


https://github.com/Alamofire/Alamofire
Alamofire是一个用Swift写的优雅的网络库。你曾经用过AFNetworking吗?ALamofire是它的弟弟。年轻也更有才华,当然啦(AFNetworking是用Objective-C写的)。
当你想要抽象简化App中的网络请求时,Alamofire是你需要的,Alamofire是一个Http网络请求库,构建在NSURLSession和基础URL加载系统之上,它用简单优雅的接口很好的封装了网络请求。

SwiftyJSON
https://github.com/SwiftyJSON/SwiftyJSON
Swift的Explicit types(显示类型)可以确保我们不会在代码中犯错和出现bug。但是有时处理起来还是比较麻烦,特别是和JSON打交道的时候。幸运的是,SwiftyJSON提供了可读性更好的方式帮我们处理JSON数据。还提供了可选的自动解析!

ObjectMapper
https://github.com/Hearst-DD/ObjectMapper
如果你写过一个通过API获取信息的app,你可能需要花大量时间写代码把你的响应结果映射为你的object。ObjectMapper可以帮你把JSON格式响应结果转换成你的model对象,反之亦然。换句话说,它帮你把JSON映射成对象,也可以把对象转换成JSON。嵌套的对象也支持。

SwiftDate


https://github.com/malcommac/SwiftDate
Swift中的日期处理库

Quick


https://github.com/Quick/Quick
Quick是一个行为驱动(BDD)开发框架,它的灵感来自于RSpec,Specta, 和Ginkgo。配合Nimble一起使用,Nimble是一个测试匹配框架。

Eureka
https://github.com/xmartlabs/Eureka


Eureka可以帮你简单优雅的实现动态table-view表单。它由rows,sections和forms组成。如果你的app包含大量表单,Eureka可以真正帮你节省时间。

RxSwift
https://github.com/ReactiveX/RxSwift
RxSwift是一个基于Swift的的函数式响应编程框架。更具体点,RxSwift是是Rx的一个Swift语言版本(还有Java版本RxJava,js->RxJs)它的目标是让异步和事件数据流操作更简单。KVO observing, async operations and delegates are all unified under abstraction of sequence(还没来的及学习掩面哭),如果你已经使用过ReactiveCocoa,你接受起来会比较简单(都是函数式编程思想)

SnapKit


https://github.com/SnapKit/SnapKit
SnapKit是一个用少量代码写出不丢可读性auto layout的AutoLayout库。

Spring


https://github.com/MengTo/Spring
Spring是一个可以帮你用代码或者直接在Storybard创建动画的动画库,在Storyboard你可以用runtime(通过设置IBInspectable属性)来创建动画,Spring已经成长为一个全面发展的动画库 支持很多已经存在的动画。

Kingfisher


https://github.com/onevcat/Kingfisher
Kingfisher是一个轻量的下载和缓存网络图片库。下载和缓存是异步进行操作,已经下载好的图片会缓存在内存和本地,极大得提高app的体验。

CoreStore


https://github.com/JohnEstropia/CoreStore
CoreStore是一个基于Core Data的封装库。它的目标是安全优雅和Core Data进行交互。CoreStore的API提供了常用的有效的方法让你和你的数据库进行交互。

ReachabilitySwift
https://github.com/ymsheng/ReachabilitySwift

SnappingStepper


https://github.com/yannickl/SnappingStepper
SnappingStepper 是用 Swift 写成的一个 UIStepper 的优雅的替代品,有拇指滑块,可更加灵活地控制数值更新。

SwiftWebViewBridge
https://github.com/ShawnFoo/SwiftWebViewBridge
Swift version of WebViewJavascriptBridge with more simplified, friendly methods to send messages between Swift and JS in UIWebViews.
Obj-C和JavaScript互通消息的桥梁

Mustache
https://github.com/Zewo/Mustache
Mustache templates for swift 3.0.

SQLite.swift
https://github.com/stephencelis/SQLite.swift
简单、轻量,使用上最SQL的SQLite封装库

SugarRecord
https://github.com/pepibumur/SugarRecord
基于CoreData与REALM的好用封装

SweetAlert
https://github.com/codestergit/SweetAlert-iOS
带动画效果弹窗封装类

RAMAnimatedTabBarController
https://github.com/Ramotion/animated-tab-bar
灵动的动画标签栏类库

PNChart-Swift
https://github.com/kevinzhow/PNChart-Swift
带动画效果的图表控件库

LTMorphingLabel
https://github.com/lexrus/LTMorphingLabel
各种文字动画效果

Cartography
https://github.com/robb/Cartography
用代码解决麻烦的AutoLayout

FontBlaster
https://github.com/ArtSabintsev/FontBlaster
在app里加载自定义字体更简单。

开源库

name describe
FMDB 本地数据库组件
UICKeyChainStore 存放用户账号密码组件
Reachability 监测网络状态
DateTools 友好化时间
MWPhotoBrowser 一款简单的iOS照片浏览控件
CTAssetsPickerController 一个选择器组件, 支持从用户的相片库选择多张照片和视频。
QBPopupMenu 无需使用图片文件的 iOS 弹出式菜单
UAAppReviewManager 一个能够让你方便地将提醒用户评分的功能加入 App 的工具
Mantle 主要用来将 JSON 数据模型化为 Model 对象
MTLFMDBAdapter Mantle 和 FMDB 的转换工具
FMDBMigrationManager 支持 iOS SQLite 数据库迁移
Bugsnag 集成 Bugsnag 到应用中
GVUserDefaults 对 NSUserDefaults 进行了封装, 方便的进行本地化存储操作
FCCurrentLocationGeocoder 对用户当前地理位置进行正向地址编码和反向地址编码
AFSwipeToHide 页面滚动时隐藏工具栏
BaiduTranslate 非官方百度翻译工具
JSBadgeView 添加带动画效果的未读消息数提醒
Masonry 一个轻量级的布局框架, 用于替换官方的 AutoLayout 写法
MMPlaceHolder 可在应用中显示视图的尺寸
TOWebViewController 可在应用中嵌套 Web 页面
VPImageCropper VPImageCropper 可以让你轻松实现微信选取图片并裁剪成头像的控件。
JCScrollView 快速给应用视图添加滚动分页效果
BWTitlePagerView 创建类似 Twitter 的导航栏分页效果
CNPPopupController 创建弹出卡片视图
FeSpinner 加入沙漏等多种动画加载效果
PulsingHalo 脉冲动画效果,可以自定义脉冲的颜色和扩散半径。可以用作:1、地图的个人位置标注;2、发射信号的灯塔。
JMHoledView 方便创建用户引导视图
RKNotificationHub 添加未读消息数显示提醒
CRToast 从应用状态栏弹出消息提醒
KeychainIDFA 获取IDFA标示当设备唯一识别, 并保存到KeyChain中
DZNEmptyDataSet 为 TableView 和 CollectionView 展示空数据视图
SwipeView 快速给应用添加上滑动视图
FXBlurView 对视图进行模糊操作
AreaPicker 中国省市地区选择器
MPTextView 支持占位符的 UITextView 子类扩展
MagicalRecord 帮助清除 CoreData 引用的代码, 协助 CoreData 工作
THProgressView 微型加载进度条
WCAlertView 对官方 Alert View 进行封装, 更加容易使用
GMGridView GMGridView是一款开源的iOS(iPhone/iPad)表格视图,允许用户手势对表格单元进行排序,在单元格需要展示时才进行装载,这样极大地提高了表格的效率。其中的伸缩/旋转/平移手势能够让用户改变视图,还能够实现从CellView到全屏的切换。
Reader 该项目能够让iOS开发者轻而易举地在iOS设备屏幕上显示PDF文件。代码通用,不需要任何XIB(因为所有UI元素都是代码生成的,具有极大的灵活性),运行于iOS 4.0及其以上版本设备中,同时还支持所有Retina Display设备。
AwesomeMenu 路径的菜单效果,当年横空出世的Path 其优美的设计 精彩的动画,而最赞的 就是它的弹出菜单 一时成为了每个APP争相模仿的对象,有了AwesomeMenu 你可以轻易的实现它。
SBJson JSON (JavaScript Object Notation) is a light-weight data interchange format that's easy to read and write for humans and computers alike. This library implements chunk-based JSON parsing and generation in Objective-C.
OHAttributedLabel 富文本OHAttributedLabel
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,470评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,393评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,577评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,176评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,189评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,155评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,041评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,903评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,319评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,539评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,703评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,417评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,013评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,664评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,818评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,711评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,601评论 2 353

推荐阅读更多精彩内容