这里记录了 iOS 开发中常用的第三方框架,包含了 Objective-C 与 Swift 版本
# 视图功能
# 布局框架
Repository | Description |
---|---|
Masonry | 强大的 Autolayout 封装库 |
SnapKit | Masonry 的 Swift 版本 |
SDAutoLayout | 最简单易用的 Autolayout 库 |
FlexLib | 基于 flexbox 的 iOS 布局框架 |
MyLinearLayout | iOS 界面视图布局框架 |
TangramKit | MyLinearLayout 的 Swift 版 |
AutoInch | 优雅的 iPhone 全尺寸 / 等比例精准适配工具 |
# 独立视图渲染框架
Repository | Description |
---|---|
Texture | 使复杂的界面依然能够保持流畅和响应 |
componentkit | 用声明性的方法来构建 UI |
QMUI_iOS | 提高项目 UI 开发效率的解决方案 |
Material | 用于创建漂亮应用程序的 UI/UX 框架 |
# 视图动画
Repository | Description |
---|---|
lottie | Airbnb 开源的动画库 |
VAP | 企鹅电竞开发播放特效动画的实现方案 |
TABAnimated | 原生骨架屏 |
WaterDrops | 水滴动画 |
Spring | Swift 版本的 iOS 动画库 |
Stellar | 一个神奇的物理动画库 |
# 视图转场动画
Repository | Description |
---|---|
Hero | 界面切换转场动画库 |
XWTransition | 自定义转场工具 |
StarWars.iOS | 实现将视图控制器粉碎成小块的动画 |
# 视图调试
Repository | Description |
---|---|
InAppViewDebugger | 带有 3D 快照视图和层次结构视图的视图调试器 |
TBUIAutoTest | 为 UIAutomation 添加自动化测试标签 |
# 测试视图
Repository | Description |
---|---|
GodEye | 多功能监控测试库 |
# 自定义视图
# 轮播滚动视图
Repository | Description |
---|---|
iCarousel | 好用的轮播滚动视图 |
JXCategoryView | 分类切换滚动视图 |
JXSegmentedView | JXCategoryView 的 Swift 版本 |
LazyScrollView | 支持视图复用的高性能滚动视图 |
# 弹窗
Repository | Description |
---|---|
SPAlertController | 微信原生风格的对话框 |
DWAlertController | 自定义弹窗 |
# 浏览视图 (图片、相册、文件)
Repository | Description |
---|---|
YBImageBrowser | 高性能图片浏览器(支持视频) |
ZLPhotoBrowser | 方便易用的相册多选框架 |
DocViewer | 文档 / 文件查看器 |
# 引导页 / 广告视图
Repository | Description |
---|---|
XHLaunchAd | 开屏广告 |
Onboard | 几行代码创建引导页 |
# 自定义按钮
Repository | Description |
---|---|
PPNumberButton | 高度可定制性商品计数按钮 |
PPNumberButtonSwift | PPNumberButton 的 Swift 版本 |
# 选择视图
Repository | Description |
---|---|
PGPickerView | 自定义选择器 |
PGDatePicker | 日期选择器 |
# 导航视图 (TabBar、NaviBar)
Repository | Description |
---|---|
JMTabBarController | 自定义 TabBar |
PTCardTabBar | 卡片样式 TabBar |
CYLTabBarController | 支持 Lottie 动画的 TabBar |
# 功能视图 (搜索、手势、二维码...)
Repository | Description |
---|---|
PYSearch | 搜索控制器 |
PCGestureUnlock | 手势解锁 |
LBXScan | 二维码扫描 |
swiftScan | 二维码扫描 Swift 版本 |
EFQRCode | 艺术二维码生成 |
JXScratchView | 万能的刮刮乐控件 |
JXWeChatFloatView | 高仿微信文章悬浮球 |
MessageKit | 聊天界面 |
# 系统功能增强视图 (视图圆角...)
Repository | Description |
---|---|
ZYCornerRadius | 设置圆角 |
Bartinter | 状态栏外观管理组件 |
# 列表视图
Repository | Description |
---|---|
IGListKit | 用数据驱动创造更为快速灵活的列表控件 |
# 列表视图增强
Repository | Description |
---|---|
MJRefresh | 下拉刷新控件 |
DZNEmptyDataSet | 列表数据为空时的占位图 |
EmptyDataSet-Swift | 列表数据为空时的占位图 |
UITableView-FDTemplateLayoutCell | 带有高度缓存功能的高度自适应 Cell 框架 |
MGSwipeTableCell | 给 cell 添加各种样式的侧滑按钮 |
CWLateralSlide | 一行代码集成 0 耦合侧滑抽屉 |
# 网络功能
# 网络请求
Repository | Description |
---|---|
AFNetworking | 强大好用的网络连接库 |
Alamofire | Swift 网络请求库 |
Moya | 提供网络抽象层,封装 Alamofire |
# 网络下载
Repository | Description |
---|---|
Tiercel | 支持原生级别后台下载 |
# 网络扩展
Repository | Description |
---|---|
NEKit | 网络扩展工具 |
# Web 相关
Repository | Description |
---|---|
VasSonic | 加快网页首屏加载速度 |
STMURLCache | iOS 预加载 Web 页面方案 |
WebViewJavascriptBridge | Objective-C 与 JavaScript 进行消息互通的三方库 |
# Socket
Repository | Description |
---|---|
CocoaAsyncSocket | iOS 强大的 Socket 框架 |
SocketRocket | 一个非常好用的 WebSocket 开源库 |
Starscream | Swift 版本的 WebSocket 开源库 |
# Http 服务器
Repository | Description |
---|---|
GCDWebServer | 在 iOS 上搭建 Http 服务的开源库 |
# 邮件
Repository | Description |
---|---|
Hedwig | 向 SMTP 服务器发送电子邮件 |
# 网络检测
Repository | Description |
---|---|
RealReachability | 检测网络的真实连接情况 |
ResponseDetective | 截取应用程序和服务器之间的所有传出请求和传入响应 |
# 图像与绘图相关功能
# 图像处理
Repository | Description |
---|---|
GPUImage | 基于 OpenGL ES 2.0 的图像处理库 |
LKImageKit | 高性能的图片框架 |
Nuke | Swift 版的图片加载库 |
# 图形与绘图
Repository | Description |
---|---|
Macaw | 矢量图形库 |
RoughSwift | 在手绘、素描、漫画风格中轻松地制作形状 |
MaLiang | 基于 Metal 的涂鸦绘图库 |
# 图表
Repository | Description |
---|---|
AAChartKit | 可视化图表框架 |
Charts | 一个功能强大的图表绘制库 |
# 色彩
Repository | Description |
---|---|
Chameleon | 一个强大的颜色扩展库 |
Wonderful | 一个可以扩展颜色的库,提供了文本的跑马灯功能 |
# 富文本
Repository | Description |
---|---|
StyledTextKit | 声明性的带属性字符串库 |
MPITextKit | 基于 TextKit 的富文本框架 |
# 音视频相关功能
# 播放器
Repository | Description |
---|---|
ffmpeg-avplayer-for-ios-tvos | 基于 FFmpeg 的播放器 |
ijkplayer | bilibili 开源的基于 FFmpeg 的视频播放器 |
SuperPlayer_iOS | 腾讯云移动直播的播放器 |
SGPlayer | 基于 FFmpeg 的媒体资源播放器框架 |
# 编解码
Repository | Description |
---|---|
FFmpeg | 强大的音视频编解码库 |
# 弹幕
Repository | Description |
---|---|
OCBarrage | iOS 弹幕库 |
HJDanmakuDemo | iOS 弹幕解决方案 |
# 安全相关
# 加解密
Repository | Description |
---|---|
DevDataTool | 加解密 |
CryptoSwift | 加密框架 |
# 权限请求
Repository | Description |
---|---|
PermissionScope | iOS 各种权限请求视图 |
# APP 防护
Repository | Description |
---|---|
IOSSecuritySuite | iOS 平台安全与防篡改 Swift 库 |
# 数据与文件处理
# 数据解析
Repository | Description |
---|---|
HandyJSON | Json 序列化 / 反序列化库 |
SwiftyJSON | Json 转模型的框架 |
IkigaJSON | 高性能的 Json 解析框架 |
KakaJSON | 快速 Json 转模型的框架 |
# 文件管理
Repository | Description |
---|---|
FileKit | 一个 Swift 文件管理库 |
# 压缩解压缩
Repository | Description |
---|---|
ZipArchive | 压缩、解压缩框架 |
# 数据归档
# 数据库
Repository | Description |
---|---|
fmdb | 好用的 SQLite 访问框架 |
GYDataCenter | 基于 FMDB 提供了面向对象的接口 |
wcdb | 腾讯开源的移动数据库框架 |
# 序列化
Repository | Description |
---|---|
MMKV | 基于 mmap 内存映射的 key-value 组件 |
# 钥匙串
Repository | Description |
---|---|
Valet | 一个用来操作钥匙串的封装库 |
SAMKeychain | 一个用来操作钥匙串的封装库 |
# 日志与异常处理
# 日志记录
Repository | Description |
---|---|
CocoaLumberjack | 功能强大的日志采集框架 |
# 异常检测
Repository | Description |
---|---|
MLeaksFinder | 自动内存泄漏检测工具 |
FBRetainCycleDetector | 循环引用检测框架 |
TimeProfiler | 监控所有的 OC 方法耗时 |
# 异常处理
Repository | Description |
---|---|
AvoidCrash | 用来防止崩溃的框架 |
XXShield | 用来防止崩溃的框架,捕获异常状态下的崩溃信息 |
# 系统相关
# 系统信息
Repository | Description |
---|---|
DeviceKit | 获取设备信息 |
GDPerformanceView-Swift | 显示 FPS, CPU, 内存等信息 |
# 内购
Repository | Description |
---|---|
SwiftyStoreKit | 应用内购买框架 |
BLIAP | 最大限度保证移动端 IAP 安全的示例代码 |
# 系统扩展
Repository | Description |
---|---|
JKCategories | 给系统库添加一些有用的扩展 |
SwifterSwift | 为系统库提供了丰富的扩展功能 |
SwiftUIX | 为 SwiftUI 标准库提供了大量的组件、扩展和实用工具 |
# 其他功能
Repository | Description |
---|---|
IQKeyboardManager | 防止键盘遮挡输入框 |
RandomKit | 轻松生成随机数据 |
Timepiece | 时间处理框架 |
NSFWDetector | 使用 CreateML 来区分色情 / 裸体和适当的图片 |
SwiftLint | 检查 Swift 代码风格和规定的工具 |
# 异步编程与响应式框架
# 异步编程
Repository | Description |
---|---|
coobjc | 提供了协程功能 |
PromiseKit | 简化了异步编程 |
promises | 方便编写异步代码 |
# 响应式
Repository | Description |
---|---|
RxSwift | 强大的响应式编程框架 |
# 热更新
Repository | Description |
---|---|
JSPatch | 用 JavaScript 书写原生 iOS APP |
Mango | 替换任何 Objective-C 方法 |
# AOP
Repository | Description |
---|---|
Aspects | 在每一个类和实例中存在的方法里面加入任何代码 |
Stinger | 在原方法的 前 / 替换 / 后位置插入 (或替换) 代码 |
InterposeKit | 作用与 Aspects 相同 |
# 综合框架
Repository | Description |
---|---|
YYKit | 包含一组功能丰富的 iOS 组件 |
QTEventBus | iOS 事件总线 |
YBTaskScheduler | iOS 任务调度器,为 CPU 和内存减负(用于性能优化) |
ValidatedPropertyKit | 通过属性包装器轻松验证属性 |
FFRouter | 强大、易用、支持 URL Rewrite 的 iOS 路由库 |
Flare-Swift | 强大的设计和动画工具 |
不定期更新! 未完待续...