收录的库以Objective C为主,Swift三方库参见[]; 以⚠️标记表示作者已多年(3年及以上)未更新;
* 以🚫标记表示作者已声明不再维护升级。
1.用户界面层(User Interface)
视图控件
对于更新不够频繁或自定义接口不够丰富的视图控件,最好直接使用其源码,而不是通过Cocoapods导入
- MJRefresh:下拉刷新,上拉加载
- MBProgressHUD:好用易扩展的活动指示器
- SVProgressHUD:轻量级的活动指示器
- TWMessageBarManager:轻量的通知和警告提示库⚠️
- TSMessages:轻量的通知和警告提示库
- JDStatusBarNotification:顶部状态栏提醒
- UIActivityIndicator-for-SDWebImage:为网络图片加载添加活动指示
- PYSearch:一种使用样式较广的搜索页面
- YYText:富文本
- DTCoreText:富文本,可解析Html和CSS
- TTTAttributedLabel:富文本label
- M80AttributedLabel:富文本label
- SDCycleScrollView:轮播图
- FSCalendar:日历插件
- PGDatePicker:时间/日期选择器
- DZNEmptyDataSet:无数据时的展示视图
- SGPagingView:标签指示器
- iCarousel:卡片的旋转切换
- ZJPickerView:各列会联动的选择器
- LMReport:常见报表表格样式
- PPBadgeView:为各种视图添加badge
- WZLBadge:为视图添加badge
- WMPageController:分页视图控制器
- FlatUIKit:扁平化风格的UIKit⚠️
- JSQMessagesViewController:聊天消息类框架🚫
- JVFloatLabeledTextField:带浮动标签的文本输入框
- SWTableViewCell:支持左滑和右滑的tableViewCell⚠️
- MGSwipeTableCell:支持左滑和右滑的tableViewCell
- tapkulibrary:自定义控件库,包括HUD、进度条、日历、CoverFlow等
- MWPhotoBrowser:简单的照片浏览控件⚠️
- ZZCircleProgress:可定制的环形进度条
- BFNavigationBarDrawer:NavigationBar下的tool菜单
- SXFiveScoreShow:五项素质评分所组成的五角星
- UUChatTableView:IM聊天界面的封装
- HyPopMenuView:类似微博效果的弹出菜单
- DXPopover:带小箭头的弹出视图
- DOPDropDownMenu:下拉菜单
- ActionSheetPicker-3.0:底部弹窗选择器
- MultilevelMenu:多级选择器,Swift实现
层级管理
- CWLateralSlide:侧边抽屉效果的视图容器
- ViewDeck:侧边抽屉效果的视图容器
- ECSlidingViewController:双层子视图容器实现侧滑效果
- MMDrawerController:轻量的侧边抽屉效果的视图容器⚠️
- RDVTabBarController:三方封装的tabBarController
页面布局
- Masonry:Autolayout代码布局库
- PureLayout:Autolayout代码布局库
- UITableView+FDTemplateLayoutCell:tableVeiwCell高度的自动布局
动画特效
- GPUImage:图片添加滤镜⚠️
- Shimmer:为视图添加流光效果
- FXBlurView:添加毛玻璃效果🚫
- NYXImagesKit:常规的图片处理
- AwesomeMenu:弹射动画展开的菜单
- Canvas:无需编码就能添加动画效果的库⚠️
- JazzHands:在scrollview中绘制关键帧动画⚠️
- pop:pop动画引擎
- popping:基于pop引擎的动画库
- pop-handapp:基于pop引擎的动画实例
- VCTransitionsLibrary:转场动画库⚠️
UI层优化
- FDFullscreenPopGesture:简化返回手势的管理
- KMNavigationBarTransition:优化转场时的导航栏样式
- ZYCornerRadius:避免离屏渲染的圆角设置
- FastImageCache:本地图片的快速加载与渲染
- Texture:通过异步绘制来提升性能的UI框架
- nui:用类CSS的语法来简化UI样式的设置⚠️
- LEETheme:简化APP主题的管理
2.业务逻辑层(Bussiness Logic)
APP任务
- IQKeyboardManager:键盘事务管理
- AYCheckVersion:更新检查
- iVersion:更新检查🚫
- Appirater:去AppStore评分
- CocoaLumberjack:App的日志管理库
- NSLogger:带mac客户端的日志分析工具
功能组件
- TZImagePickerController:图片选择器
- ZFPlayer:视频播放器及控制器
- PNChart:图表绘制库(OC)
- Charts:图标绘制库(Swift)
- WebViewJavascriptBridge:OC和JS的交互库
- AGEmojiKeyboard:emoji表情输入面板
- ZFSetting:快捷构建设置界面
- TOCropViewController:图片裁剪
- EZAudio:音频波形图绘制⚠️
便捷工具
- ReactiveObjC:函数响应式编程框架
- KVOController:方便安全的KVO工具
- PromiseKit:Promise设计模式处理异步任务的库
- JKCategories:系统库的类扩展
- Colours:颜色库扩展
- FormatterKit:为很多数据类型提供了格式化的转换
- nimbus:开源的iOS开发框架
- BlocksKit:为一些常用的系统接口提供block版本
- Bolts-ObjC:GCD、NSOperation之外的多任务管理库
- RegexKitLite:通过正则表达式处理字符串⚠️
- Objective-C-RegEx-Categories:提供便捷的正则表达式使用接口⚠️
3.数据访问层(Data Access)
网络传输
- AFNetworking:网络请求库
- XMNetworking:基于AF的封装,使用方便,适合中小型项目
- YTKNetwork:基于AF的封装,功能完备,适合复杂网络请求项目
- MKNetworkKit:轻量的网络请求库
- Reachability:判断网络可达性
- RestKit:专注于RESTful API的网络请求、JSON解析、CoreData存储的框架
- SDWebImage:根据网络连接获取图片
- SocketRocket:facebook家的轻量级socket连接库⚠️
- CocoaAsyncSocket:异步socket通讯
- SocketRocket:webSocket客户端
- XMPPFramework:XMPP通信框架
转换处理
- GZIP:数据压缩与解压
- MJExtension:JSON字典和模型相互转换
- Mantle:JSON字典和模型的转换
- json framework:JSON数据解析
- JSONModel:JSON字典和模型的转换
- hpple:XML/HTML解析
本地持久化
- YYCache:NSCoding归档缓存
- Realm:移动端本地数据库
- MagicalRecord:对CoreData的封装
- FMDB:对SQLite数据库的封装
- KeychainItemWrapper:keychain钥匙串管理⚠️
- SAMKeychain:keychain钥匙串管理
- GVUserDefaults:对NSUserDefaults的方便存取
4.测试调试(Test & Debug)
调试类三方库在Cocoapods导入时需设置其编译环境仅包含Debug,即需要在三方库的引入后面加上:configurations => ['Debug']
;测试类三方库要注意仅加到测试target下。
- FLEX:强大的调试工具集
- YKWoodpecker:优酷(阿里)开源的调试工具集
- MLeaksFinder:VC和VC上的View的内存泄漏检查工具
- FBRetainCycleDetector:对象的循环引用检查工具
- JxbDebugTool:网络请求调试工具⚠️
- NetworkEye:Http网络请求调试工具
- PonyDebugger:通过Chrome调试网络流量和数据存储
- KIF:基于XCTest的UI测试框架
- Kiwi:BDD行为驱动开发测试框架