iOS优秀OC开源库整理,了解一下

4,007 阅读11分钟

前言

自己从事iOS开发工作接近两年左右的时间了,在自己工作之余,收集整理了一些优秀的三方开源框架,自己整理的这些三方开源库涵盖了iOS开发面很多方面的知识。非常感谢这些开源库的作者们,正是因为这些库,提高了我们的开发效率,同样也是我们学习进步的源泉。现将这个整理工程文件分享出来,希望能给需要的朋友一些帮助,同时也自己也做下收集记录。

Github:WBCollectOCThirdLib

Objective-C三方开源库

表格侧滑菜单

开源库名 简介 推荐指数
MGSwipeTableCell 类似系统侧滑菜单 ⭐️⭐️⭐️⭐️
SWTableViewCell 类似系统侧滑菜单 ⭐️⭐️⭐️⭐️
ZJSwipeTableView 类似系统侧滑菜单 ⭐️⭐️⭐️⭐️

表格高度缓存库

开源库名 简介 推荐指数
FDTemplateLayoutCell AutoLayout自动布局高度缓存库,提高滑动流畅性 ⭐️⭐️⭐️⭐️⭐️
HYBMasonryAutoCellHeight cell高度缓存 ⭐️⭐️⭐️⭐️
UITableViewDynamicLayoutCacheHeight 高性能的自动计算采用 Autolayout 布局的 UITableViewCell 和 UITableViewHeaderFooterView 的高度,内部自动管理高度缓存 ⭐️⭐️⭐️⭐️

表格刷新控件

开源库名 简介 推荐指数
MJRefresh 国内著名iOS刷新框架 ⭐️⭐️⭐️⭐️⭐️
KafkaRefresh 丰富的iOS刷新样式 ⭐️⭐️⭐️⭐️
CBStoreHouseRefreshControl Fully customizable pull-to-refresh control inspired by Storehouse iOS app ⭐️⭐️⭐️⭐️

弹出菜单(类似微信弹出菜单)

开源库名 简介 推荐指数
FTPopOverMenu ⭐️⭐️⭐️⭐️
kxmenu ⭐️⭐️⭐️
CMPopTipView 一个泡泡风格的提示框开源控件, 继承自UIView ⭐️⭐️⭐️⭐️
PopMenuTableView ⭐️⭐️⭐️
FFPopup 快速集成自定义弹出视图,可配置常用弹出动画样式 ⭐️⭐️⭐️⭐️

导航栏

开源库名 简介 推荐指数
FDFullscreenPopGesture 一个优秀的全屏侧滑返回手势库 ⭐️⭐️⭐️⭐️
KMNavigationBarTransition ⭐️⭐️⭐️⭐️
RTRootNavigationController ⭐️⭐️⭐️⭐️
WRNavigationBar 导航栏渐变库 ⭐️⭐️⭐️⭐️
ScreenShotBack 类似斗鱼手势返回景深效果 ⭐️⭐️⭐️⭐️
TLYShyNavBar ⭐️⭐️⭐️
YPNavigationBarTransition A custom UINavigationBar for smooth switching between various states, including bar style, bar tint color, background image, background alpha, bar hidden, title text attributes, tint color, shadow hidden... ⭐️⭐️⭐️⭐️
HBDNavigationBar ⭐️⭐️⭐️⭐️

动画

开源库名 简介 推荐指数
lottie-ios ⭐️⭐️⭐️⭐️⭐️
pop FaceBook开源动画框架 ⭐️⭐️⭐️⭐️⭐️
LSAnimator 优雅基础动画链式调用 ⭐️⭐️⭐️⭐️
VCTransitionsLibrary 多种转场动画集合库 ⭐️⭐️⭐️⭐️
UICountingLabel 数字动画 ⭐️⭐️⭐️⭐️

分段控件

开源库名 简介 推荐指数
HMSegmentedControl ⭐️⭐️⭐️⭐️
JXCategoryView 腾讯新闻、今日头条、QQ音乐、网易云音乐、京东、爱奇艺、腾讯视频、淘宝、天猫、简书、微博等所有主流APP分类切换滚动视图 ⭐️⭐️⭐️⭐️⭐️
SGPagingView QQ、淘宝、微博、腾讯、网易新闻、今日头条等标题滚动视图 ⭐️⭐️⭐️⭐️

富文本编辑

开源库名 简介 推荐指数
ZSSRichTextEditor 富文本编辑器 ⭐️⭐️⭐️⭐️

弹幕

开源库名 简介 推荐指数
HJDanmakuDemo 弹幕库 ⭐️⭐️⭐️
BarrageRenderer 一个 iOS 上的弹幕渲染库 ⭐️⭐️⭐️⭐️

滚动视图

开源库名 简介 推荐指数
SwipeView 封装类似滚动视图分页 ⭐️⭐️⭐️⭐️

滚动视图悬浮效果

开源库名 简介 推荐指数
HJTabViewController ⭐️⭐️⭐️
LTScrollView ScrollView嵌套ScrolloView(UITableView 、UICollectionView)解决方案, 支持OC / Swift ⭐️⭐️⭐️
GKPageScrollView iOS类似微博、抖音、网易云等个人详情页滑动嵌套效果 ⭐️⭐️⭐️
JXPagingView 类似微博主页、简书主页等效果。多页面嵌套,既可以上下滑动,也可以左右滑动切换页面。支持HeaderView悬浮、支持下拉刷新、上拉加载更多。 ⭐️⭐️⭐️⭐️
SwipeTableView 类似半糖、美丽说主页与QQ音乐歌曲列表布局效果,实现不同菜单的左右滑动切换,同时支持类似tableview的顶部工具栏悬停 ⭐️⭐️⭐️⭐️

红点提示

开源库名 简介 推荐指数
JSBadgeView ⭐️⭐️⭐️
WZLBadge ⭐️⭐️⭐️⭐️

键盘

开源库名 简介 推荐指数
IQKeyboardManager 一个强大键盘管理库,推荐项目集成使用 ⭐️⭐️⭐️⭐️⭐️
MMNumberKeyboard ⭐️⭐️⭐️
TPKeyboardAvoiding 键盘处理库 ⭐️⭐️⭐️⭐️
TLKeyboard 仿微信键盘封装 ⭐️⭐️

界面布局

开源库名 简介 推荐指数
FlexLib ⭐️⭐️⭐️
Masonry iOS原生布局AutoLayout封装 ⭐️⭐️⭐️⭐️⭐️
SDAutoLayout ⭐️⭐️⭐️⭐️
WHC_AutoLayoutKit ⭐️⭐️⭐️
MyLinearLayout MyLayout是一套iOS界面视图布局框架。MyLayout的内核是基于对UIView的layoutSubviews方法的重载以及对子视图的bounds和center属性的设置而实现的。MyLayout功能强大而且简单易用,它集成了:iOS Autolayout和SizeClass、android的5大布局体系、HTML/CSS的浮动定位技术以及flex-box和bootstrap框架等市面上主流的平台的界面布局功能,同时提供了一套非常简单和完备的多屏幕尺寸适配的解决方案 ⭐️⭐️⭐️⭐️⭐️
Graver Graver 是一款高效的 UI 渲染框架,它以更低的资源消耗来构建十分流畅的 UI 界面 ⭐️⭐️⭐️⭐️
yoga Yoga is a cross-platform layout engine which implements Flexbox. ⭐️⭐️⭐️⭐️

进度指示器

开源库名 简介 推荐指数
DACircularProgress ⭐️⭐️⭐️
SDProgressView ⭐️⭐️⭐️

KVO

开源库名 简介 推荐指数
KVOController ⭐️⭐️⭐️⭐️

控制器切换

开源库名 简介 推荐指数
DWQListOfDifferentOrderStatus ⭐️
HYPageView ⭐️
SGPagingView ⭐️⭐️⭐️⭐️
WMPageController ⭐️⭐️⭐️⭐️
VTMagic VTMagic is a page container library for iOS. ⭐️⭐️⭐️⭐️
ZJScrollPageView ⭐️⭐️⭐️

数据存储

开源库名 简介 推荐指数
fmdb A Cocoa / Objective-C wrapper around SQLite ⭐️⭐️⭐️⭐️⭐️
BGFMDB ⭐️⭐️⭐️⭐️
JKDBModel ⭐️⭐️⭐️⭐️
JRDB ⭐️⭐️⭐️
LKDBHelper-SQLite-ORM ⭐️⭐️⭐️
MMKV An efficient, small mobile key-value storage framework developed by WeChat. Works on iOS, Android, macOS and Windows. ⭐️⭐️⭐️⭐️⭐️
realm-cocoa Realm is a mobile database: a replacement for Core Data & SQLite ⭐️⭐️⭐️⭐️

数据转模型

开源库名 简介 推荐指数
MJExtension ⭐️⭐️⭐️⭐️
YYModel ⭐️⭐️⭐️⭐️
Mantle ⭐️⭐️⭐️⭐️
jsonmodel ⭐️⭐️⭐️⭐️
GDataXML-HTML ⭐️⭐️⭐️

搜索

开源库名 简介 推荐指数
PYSearch ⭐️⭐️⭐️⭐️

提示框架

开源库名 简介 推荐指数
MBProgressHUD ⭐️⭐️⭐️⭐️
SVProgressHUD ⭐️⭐️⭐️⭐️
JGProgressHUD ⭐️⭐️⭐️⭐️
KSToastView ⭐️⭐️⭐️
MMPopupView ⭐️⭐️⭐️
SCLAlertView ⭐️⭐️⭐️⭐️
Toast ⭐️⭐️⭐️⭐️
JXTAlertManager ⭐️⭐️⭐️⭐️
SPAlertController 提醒对话框,风格和微信原生几乎零误差 ⭐️⭐️⭐️⭐️
FTIndicator A light wight UI package contains local notification, progress HUD, toast, with blur effect, elegant API and themes support. ⭐️⭐️⭐️

图表绘制

开源库名 简介 推荐指数
AAChartKit ⭐️⭐️⭐️
JHChart ⭐️⭐️⭐️
ZFChart ⭐️⭐️⭐️
DVPieChart ⭐️⭐️
DVLineChart ⭐️⭐️
AxcDrawPath_Tool AxcAEKit系列拆分出来的一个贝塞尔曲线绘制工具,以科技风为主,动画为辅 ⭐️⭐️⭐️

图片缓存框架

开源库名 简介 推荐指数
SDWebImage ⭐️⭐️⭐️⭐️⭐️
FLAnimatedImage ⭐️⭐️⭐️⭐️⭐️
iOS-WebP ⭐️⭐️⭐️
YYWebImage ⭐️⭐️⭐️⭐️⭐️
XHWebImageAutoSize ⭐️⭐️⭐️

图片浏览

开源库名 简介 推荐指数
MWPhotoBrowser ⭐️⭐️⭐️⭐️
PYPhotoBrowser ⭐️⭐️⭐️⭐️
SDPhotoBrowser ⭐️⭐️⭐️
STPhotoBrowser ⭐️⭐️⭐️
KSPhotoBrowser ⭐️⭐️⭐️
GKPhotoBrowser ⭐️⭐️⭐️⭐️
YBImageBrowser iOS image browser / iOS 图片浏览器 (支持视频) ⭐️⭐️⭐️⭐️

图片、文字轮播

开源库名 简介 推荐指数
SDCycleScrollView ⭐️⭐️⭐️⭐️
HYBLoopScrollView ⭐️⭐️⭐️
TXScrollLabelView ⭐️⭐️⭐️⭐️
DDGBannerScrollView 1、无限图片轮播功能 2、每个图片的相对偏移量,方便开发者自己封装东西 3、pageControl的几个动画,(旋转,跳跃等慢慢会增加) ⭐️⭐️⭐️
SGAdvertScrollView ⭐️⭐️⭐️
PSCarouselView A drop-in carousel view. Most of Apps put it in their first screen ⭐️⭐️⭐️
RollingNotice 淘宝、口碑、京东、美团、天猫等等一切滚动广告 Roll ⭐️⭐️⭐️⭐️
TYCyclePagerView a simple and usefull cycle pager view ,and auto scroll banner view(轮播图) ,include pageControl for iOS,support Objective-C and swift ⭐️⭐️⭐️⭐️

图片拾取

开源库名 简介 推荐指数
TZImagePickerController ⭐️⭐️⭐️⭐️
CTAssetsPickerController ⭐️⭐️⭐️
DNImagePicker ⭐️⭐️⭐️
HXWeiboPhotoPicker ⭐️⭐️

全景图展示

开源库名 简介 推荐指数
HelloPanoramaGL ⭐️⭐️⭐️
gvr-ios-sdk Google VR SDK for iOS ⭐️⭐️⭐️⭐️
MD360Player4iOS It is a lite library to render 360 degree panorama video for iOS. VR Player. ⭐️⭐️⭐️⭐️

网络请求

开源库名 简介 推荐指数
AFNetworking ⭐️⭐️⭐️⭐️⭐️
YTKNetwork ⭐️⭐️⭐️⭐️
PPNetworkHelper ⭐️⭐️⭐️⭐️
HYBNetworking ⭐️⭐️⭐️
SJNetwork ⭐️⭐️⭐️
YBNetwork 基于 AFNetworking 网络中间层,注重性能,设计简洁,易于拓展 ⭐️⭐️⭐️

网络状态监测

开源库名 简介 推荐指数
Reachability 网络状态监测 ⭐️⭐️⭐️⭐️

文件下载

开源库名 简介 推荐指数
TWRDownloadManager ⭐️⭐️⭐️
ZFDownload ⭐️⭐️⭐️

Carousel效果

开源库名 简介 推荐指数
iCarousel ⭐️⭐️⭐️⭐️⭐️
NewPagedFlowView ⭐️⭐️⭐️
HJCarouselDemo ⭐️⭐️⭐️
TXCarouselView 仿新浪新闻首页重力卡片式轮播 ⭐️⭐️

音视频

开源库名 简介 推荐指数
ijkplayer ⭐️⭐️⭐️⭐️⭐️
ZFPlayer ⭐️⭐️⭐️⭐️
WMPlayer ⭐️⭐️⭐️⭐️
TBPlayer ⭐️⭐️⭐️
TTAVPlayer ⭐️⭐️
SJVideoPlayer Video Player. Support cocoapods & Generate GIF & Export & Localization & Play in View(UIView ⭐️⭐️⭐️⭐️
JPVideoPlayer Automatic play video & cache video data in UITableView like Weibo and Douyin. ⭐️⭐️⭐️

占位图

开源库名 简介 推荐指数
DZNEmptyDataSet ⭐️⭐️⭐️⭐️⭐️
LYEmptyView ⭐️⭐️⭐️⭐️
Somo Somo is a iOS Skeleton-style animation library that's simple enough,and in objective-c ⭐️⭐️⭐️
TABAnimated ⭐️⭐️⭐️⭐️

C语言扩展库

开源库名 简介 推荐指数
libextobjc ⭐️⭐️⭐️⭐️

Socket编程

开源库名 简介 推荐指数
CocoaAsyncSocket ⭐️⭐️⭐️⭐️
SocketRocket ⭐️⭐️⭐️⭐️
socket.io ⭐️⭐️⭐️⭐️
MQTTKit ⭐️⭐️⭐️

内存泄露检测工具

开源库名 简介 推荐指数
MLeaksFinder ⭐️⭐️⭐️⭐️
FBRetainCycleDetector ⭐️⭐️⭐️⭐️

YYKit

开源库名 简介 推荐指数
YYKit A collection of iOS components. ⭐️⭐️⭐️⭐️⭐️

LOG工具

开源库名 简介 推荐指数
CocoaLumberjack ⭐️⭐️⭐️⭐️⭐️

输入框占位符

开源库名 简介 推荐指数
UITextView-Placeholder 一个实用的设置UITextView占位文字分类 ⭐️⭐️⭐️⭐️
RPFloatingPlaceholders ⭐️⭐️⭐️⭐️
SZTextView ⭐️⭐️⭐️

分类

开源库名 简介 推荐指数
JKCategories ⭐️⭐️⭐️⭐️

图像处理

开源库名 简介 推荐指数
GPUImage ⭐️⭐️⭐️⭐️⭐️
TOCropViewController A view controller for iOS that allows users to crop portions of UIImage objects

iOS开发知识集合

开源库名 简介 推荐指数
iOS-Tips ⭐️⭐️⭐️⭐️
iOS-InterviewQuestion-collection ⭐️⭐️⭐️⭐️

安全防护

开源库名 简介 推荐指数
LSSafeProtector 强大的防止crash框架,不改变原代码支持KVO自释放,可以检测到dealloc时未释放的kvo,等19种crash ⭐️⭐️⭐️
JJException 常用crash防护框架,配置简便,推荐集成使用 ⭐️⭐️⭐️⭐️
XXShield It's a library can avoid some crash in iOS project written by Objective-C ⭐️⭐️⭐️⭐️
NSObjectSafe Swizzle commonly used function of Foundation container to prevent nil crash ⭐️⭐️⭐️

表单

开源库名 简介 推荐指数
XLForm ⭐️⭐️⭐️⭐️

富文本相关

开源库名 简介 推荐指数
SJAttributesFactory ⭐️⭐️⭐️

截屏

开源库名 简介 推荐指数
TYSnapshotScroll 一句代码保存截图,将 UIScrollView UITableView UICollectionView UIWebView WKWebView 网页 保存 为 长图 查看 ⭐️⭐️⭐️⭐️

界面动态化方案

开源库名 简介 推荐指数
Tangram-iOS Tangram is a modular UI solution for building native page dynamically, including Tangram for Android, Tangram for iOS and even backend CMS. This project provides the sdk on iOS platform. ⭐️⭐️⭐️
LazyScrollView An iOS ScrollView to resolve the problem of reusability in views.

框架搭建

开源库名 简介 推荐指数
AxcAE_TabBar AxcAE_TabBar,特效TabBar,以开放为封装核心的TabBar组件,尽量将属性、API等参数全部开放给使用者,能够很方便快速使用的一个TabBar选项卡组件 ⭐️⭐️⭐️
CYLTabBarController 【中国特色 TabBar】一行代码实现 Lottie 动画TabBar,支持中间带+号的TabBar样式,自带红点角标,支持动态刷新。 ⭐️⭐️⭐️⭐️⭐️

瀑布流

开源库名 简介 推荐指数
TTGTagCollectionView 标签流显示控件,同时支持文字或自定义View ⭐️⭐️⭐️
IGListKit A data-driven UICollectionView framework for building fast and flexible lists. ⭐️⭐️⭐️⭐️⭐️
BMLongPressDragCellCollectionView 🎉 让你轻松实现类似支付宝的拖拽重排功能, 支持各种自定义操作。 ⭐️⭐️⭐️⭐️

启动屏

开源库名 简介 推荐指数
LSLaunchAD 一行代码实现启动广告页 ⭐️⭐️
XHLaunchAd 开屏广告、启动广告解决方案-支持静态/动态图片广告,mp4视频广告,全屏/半屏广告、兼容iPhone/iPad. ⭐️⭐️⭐️⭐️⭐️
LBLaunchImageAd iOS开发轻量级启动广告,动态获取网络启动图片,具有渐变的启动动画,支持半屏和全屏,类似百度ssp广告和广点通的广告。支持广告点击等,集成非常的方便 ⭐️⭐️⭐️⭐️

筛选

开源库名 简介 推荐指数
GHDropMenu 仿京东/美团电商筛选菜单 电商筛选菜单 电商通用筛选菜单 ⭐️⭐️⭐️

数据加密解密

开源库名 简介 推荐指数
MJCodeObfuscation 一个用于代码混淆和字符串加密的Mac小Demo ⭐️⭐️⭐️
CocoaSecurity Encrypt/Decrypt: AES. Hash: MD5, SHA(SHA1, SHA224, SHA256, SHA384, SHA512). Encode/Decode: Base64, Hex. ⭐️⭐️⭐️
Encryptions 多种加密解密 ⭐️⭐️⭐️

索引&分组

开源库名 简介 推荐指数
SCIndexView SCIndexView provide a index view like Wechat ⭐️⭐️⭐️

网页进度条

开源库名 简介 推荐指数
AXWebViewController AXWebViewController is a webViewController to browse web content inside applications. It’s a lightweight controller on iOS platform based on WKWebView (UIWebView would be the base Kit under iOS 8.0). ⭐️⭐️⭐️
RxWebViewController ⭐️⭐️⭐️⭐️

响应式编程

开源库名 简介 推荐指数
ReactiveObjC The 2.x ReactiveCocoa Objective-C API: Streams of values over time ⭐️⭐️⭐️⭐️⭐️
EasyReact EasyReact 是一个简单易用的响应式编程库 ⭐️⭐️⭐️⭐️

协程编程

开源库名 简介 推荐指数
coobjc coobjc provides coroutine support for Objective-C and Swift. We added await method、generator and actor model like C#、Javascript and Kotlin. For convenience, we added coroutine categories for some Foundation and UIKit API in cokit framework like NSFileManager, JSON, NSData, UIImage etc. We also add tuple support in coobjc. ⭐️⭐️⭐️⭐️
PromiseKit Promises simplify asynchronous programming, freeing you up to focus on the more important things. ⭐️⭐️⭐️⭐️⭐️

学习框架推荐

开源库名 简介 推荐指数
TLChat 高仿微信 ⭐️⭐️⭐️
VVeboTableViewDemo VVebo剥离的TableView绘制 ⭐️⭐️⭐️⭐️
iOSProject iOS project of collected some demos for iOS App, use Objective-C ⭐️⭐️⭐️⭐️

高仿微信

开源库名 简介 推荐指数
CTMediator The mediator with no regist process to split your iOS Project into multiple project. ⭐️⭐️⭐️⭐️
JLRoutes URL routing library for iOS with a simple block-based API ⭐️⭐️⭐️⭐️
MGJRouter 一个高效/灵活的 iOS URL Router ⭐️⭐️⭐️⭐️

Hook

开源库名 简介 推荐指数
Aspects Delightful, simple library for aspect oriented programming in Objective-C and Swift ⭐️⭐️⭐️⭐️
fishhook A library that enables dynamically rebinding symbols in Mach-O binaries running on iOS. ⭐️⭐️⭐️⭐️
TrampolineHook A solution for centralized method redirection ⭐️⭐️⭐️⭐️
Stinger github.com/eleme/Sting… ⭐️⭐️⭐️⭐️

QMUI

开源库名 简介 推荐指数
QMUI_iOS QMUI iOS——致力于提高项目 UI 开发效率的解决方案 ⭐️⭐️⭐️⭐️

Web网页H5

开源库名 简介 推荐指数
VasSonic VasSonic is a lightweight and high-performance Hybrid framework developed by tencent VAS team, which is intended to speed up the first screen of websites working on Android and iOS platform. ⭐️⭐️⭐️⭐️
WebViewJavascriptBridge An iOS/OSX bridge for sending messages between Obj-C and JavaScript in UIWebViews/WebViews ⭐️⭐️⭐️⭐️

贝塞尔曲线

开源库名 简介 推荐指数
UberSignature Provides an iOS view controller allowing a user to draw their signature with their finger in a realistic style. ⭐️⭐️⭐️

工具

开源库名 简介 推荐指数
WHC_DataModelFactory Mac上iOS开发辅助工具,快速把json/xml数据转换生成对应模型类属性,省去麻烦手动创建,提高开发效率 ⭐️⭐️⭐️⭐️
iOS-getClientInfo 📱📲iOS中获取各种设备信息🆔的方法总结(iPhone XS Max 已更新) ⭐️⭐️⭐️⭐️

结语

上面这些三方开源库按照自己的理解分类整理了一遍,其中OC语言库居多,自己现在也是基于OC开发,Swift收集的相对较少,这些库也是自己现在所了解到的,当然还有很多优秀的三方库自己也未发现和接触,我以后会不断在这篇博客中更新优秀的三方开源库。