适用于Apple平台开发,iOS和Mac的精美第三方库和工具列表。个人平时积累的资源。
强烈建议经常查看Github
的Trending Page
资源合集
- https://www.jianshu.com/p/b4d89f0cb2ac
- https://gank.io/
- TimLiu-iOS iOS开发常用三方库、插件、知名博客等等
- https://github.com/Lafree317/iOS 基于 awesome-ios 资源列表
功能合集
- iOSProject:iOS项目汇集了一些演示,使用Objective-C
- swiftProject:swift项目汇集了一些演示,组件,Target-Action,使用Swift
博客
- iOS-Source-Code-Analyze:深入解析 iOS 开源项目Draveness’s Blog
- Halfrost-Field冰霜之地 https://halfrost.com
完整开源项目
- LBXMLYFM-SwiftSwift5项目仿写喜马拉雅App,采用MVC+MVVM设计模式,Moya+SwiftyJSON+HandyJSON网络框架和数据解析。数据来源抓包及部分本地json文件
新闻客户端
- TTNews
- DayDayNews
- JRTTDemo仿今日头条
- NewsComing:一个完整的新闻应用,采用了MVVM架构,方便搭建项目基础架构
- FunOnline:一款集壁纸、音乐、新闻资讯的多玩Apps
- ZHNCosmos仿Cosmos - 别具一格的微博客户端
- BAWeChat博爱微信,使用原生 frame + MVVM + MVC + QMUIKit + BAKit 开源的微信
- ProjectFunctionCollect将一些平时的常用功能整合起来
- iComicReader漫画阅读APP
优秀开源库
架构
- architecture.of.internet-product互联网公司技术架构,微信/淘宝/微博/腾讯/阿里/美团点评/百度/Google/Facebook/Amazon/eBay的架构
- LLProgramFrameworkSwift本项目是一个拿来即用的Swift基础框架:RxSwift+Moya+ObjectMapper优雅的网络请求及模型转换
UIKit
- MUKit: UITableView、UICollectionView、Signal、UINavigation、QRCode、AliPay、weChatPay、Shared、Popup、Networking、Runtime、Block、UIScrollView、嵌套滚动、多代理、MVVM、Refresh、delegate、Route、路由、CheckBox、微信键盘、QQ下拉下单、图片多选、图片浏览器、图片缓存、富文本、TextKit、标签、分段视图’-提高iOS开发效率的MUKit
- NIM_iOS_UIKit: 网易云信 iOS UI 组件,提供聊天界面,文本消息,图片消息,语音消息,视频消息,地理位置消息,自定义消息(阅后即焚)等消息示例
- QMUI_iOS:——致力于提高项目 UI 开发效率的解决方案 http://qmuiteam.com/ios
- QMUI_iOS_CodeSnippets:用于Xcode使用的iOS通用代码片段,其中也包含若干专用于QMUI iOS框架的代码片段。
- QMUI_iOS_Templates:QMUI iOS class file templates for Xcode
- BFKit OC版本
- BFKit-Swift: 是一组有用的类,结构和扩展,可以更快地开发应用程序。 https://github.fabriziobrancati.com
- FormatterKit格式化地址:数组:颜色:位置,距离和方向:名称:序数:时间间隔:信息单位:URL请求:
WTCustomUIKit是一个日常开发积累下来的自定义UI控件的项目

swift-ui-animation-components-and-librariesSwift UI库,iOS组件和动画
Category工具
JKCategories一个有用的Objective-C目录集合,扩展了iOS框架,如Foundation、UIKit、CoreData、QuartzCore、CoreLocation、MapKit等。
- YYCategories: Foundation和UIKit的一组有用类别
网络
- ZBNetworking: AFNetworking4.X封装 GET/POST /PUT/PATCH /DELETE / Upload /DownLoad 网络请求 添加了请求缓存,断点下载,显示缓存大小,删除缓存,取消当前请求等功能
- PPNetworkHelper:AFNetworking 3.x 与YYCache封装
- KJNetworkPlugin 目前整理九款插件:解析插件,缓存插件,配置自建证书插件,加载提示插件,修改请求插件,日志抓包插件,错误码插件,刷新插件,网络错误和空数据插件
即时通讯
- CocoaAsyncSocket_Demo基于AsyncSocket搭建即时通讯体系
导航
- TLYShyNavBar
- HBDNavigationBarUINavigationBar, 阴影,透明度,是否隐藏,背景颜色平滑过渡。
- NNNavigationBar实现导航条背景渐变过渡动画的轻量级框架
- WZRootNavigationController
- KMNavigationBarTransition一个用来统一管理导航栏转场以及当 push 或者 pop 的时候使动画效果更加顺滑的通用库,并且同时支持竖屏和横屏。你不用为这个库写一行代码,所有的改变都悄然发生。
列表(Tableview)
- HKPTimeLine仿赤兔、新浪微博动态列表(带评论、点赞、转发和分享,自动计算行高功能)
- TreeTableViewiOS 树状列表控件,可单选多选、展开折叠、节点查询等,灵活性高,可自定义样式。

- UITableView-FDTemplateLayoutCell:模板自动布局单元格,用于自动UITableViewCell高度计算
列表占位图
- BFRefresh
TABAnimated原生骨架屏,网络加载过渡动画
嵌套效果
GKPageScrollView iOS类似微博、抖音、网易云等个人详情页滑动嵌套效果
- HGPersonalCenter 主要实现头部视图的下拉放大以及分页控制,同样的场景也适用于淘宝/天猫店铺界面/简书主页/微博主页
抽屉效果(Drawer)
菜单(Menu)
- YBPopupMenu 快速集成popupMenu
- CFDropDownMenuView下拉列表菜单选择筛选条件的控件
MYDropMenu上拉下拉菜单,可随意自定义,随意修改大小,位置,各个项目通用
Swift
分段控制
- YNPageViewController多种样式的嵌套页面布局
- SGPagingView标题滚动视图
- JXCategoryView_OC功能强大且易于使用的类别视图
- JXSegmentedView_Swift
- MJCSegmentInterface:一款类似百思不得姐,今日头条,腾讯新闻等app的分段界面功能的,分段界面框架
- FWSegmentedControl:分段控件:支持纯文字、纯图片、文字图片混排等方式的Segment
视频播放
- ZFPlayer
- SuperPlayer_iOS腾讯云超级播放器
- SJVideoPlayer仿抖音 火山视频滑动播放
- KSYMediaPlayer_iOS金山云iOS播放SDK
- https://github.com/newyjp/JPVideoPlayer
- FFmpegAndKxmovieDemo
- WAVideoBox:三行代码实现iOS视频压缩、变速、混音、合并、GIF水印、旋转、换音、裁剪 ! 支持不同分辩率,支持你能想到的各种混合操作!
日历
- MBCalendarKit:适用于iOS的开源日历框架,支持自定义,IBDesignable,Autolayout等。
直播
- Tencent-NOW仿腾讯旗下直播斗鱼抖音火山视频花椒熊猫YY陌陌映客直播APP iOS直播视频
- react-native-ilive腾讯互动直播iLive React-Native模块封装
商品详情页
- ProductDetailProject商品详情页面,商品属性选择功能(SKU)
倒计时
- ZXCountDownView杀不死的倒计时】一个简单易用的倒计时View,常用于快速创建点击获取验证码按钮,支持各种自定义样式。(特点:重新进入当前页面或重启程序倒计时不会重置,仍将继续执行,且退出程序后的时间也会被自动计算在内)
- ZKTimerServiceDemo活动倒计时解决方案,全局共享同一个倒计时服务
- RNCountDownButtonExample
- YSTimeCountDown
- HSFTimeDownView活动倒计时动画
评论
- ZMCommentView可扩展、可单独分离使用的弹出式评论列表,一般用于查看全部评论,仅引入了Masonry做布局

- XHInputView轻量级评论输入框,支持多种样式,支持占位符设置等等…
- XJInputView表情显示YYText,、表情键盘、富文本、评论输入框、聊天输入框、UICollectionView图片拖动、@选人、范围选人、图片压缩、缓存、仿微博发布界面,
照片/图片选择器
- TZImagePickerController
- HXPhotoPicker
- YBImageBrowser图片浏览器 (支持视频)
- PhotoBrowserElegant photo browser in Swift. 图片浏览器,类似微信
https://github.com/Silence-GitHub/BBWebImage
截图
TYSnapshotScroll一句代码保存截图,将UIScrollView UITableView UICollectionView UIWebView WKWebView网页保存为长图查看
TabBar
- CYLTabBarController:【中国特色 TabBar】最低只需传两个数组即可完成主流App框架搭建,自带红点角标、动画,支持动态刷新。
- FoldingTabBar.iOS折叠TabBar和标TabBar控制器
- AxcAE_TabBar
图文混排
- MYCoreTextLabel图文混排 , 实现图片文字混排 , 可显示常规链接比如网址,@,#话题#,手机号 , 邮箱号等 , 可以自定义链接字,设置关键字高亮等功能 .
- TYAttributedLabel简单,强大的文本控件(无需了解CoreText),图文属性混排,支持添加链接,图像和UIView的显示控件,支持自定义排版
弹出视图(Popup View)
- zhPopupController 简单快捷弹出你的自定义视图,支持动画、手势等
- MMActionSheet一个用纯Swift编写的简单弹出选择框(ActionSheet)
- MMPopupView
AlertView
- SPAlertController
- JXTAlertManager基于UIAlertController封装
- SCLAlertView-OC — SCLAlertView-Swift

- FCAlertView适用于iOS的平面可自定义AlertView(用Objective C编写)
支付弹出框
- LYPaymentField多种风格的支付框控件,可定制加密图片,也可使用带动画的弹窗。

- WCLPassWordView类似微信和支付宝的密码输入框

标签
- ZYTagView:仿微博图片添加标签
- YZTagList标签列表界面,用法比较简单,快速集成
- DPTagView
- ZQTagViewDemo
键盘
- WLDecimalKeyboard 一个支付宝数字(金额)输入键盘
- KeyboardforChat仿微信聊天键盘。
- TPKeyboardAvoiding:有文字输入时,能根据键盘是否弹出来调整自身显示内容的位置
消息提醒通知
- JDStatusBarNotification:状态栏提示框

- RMessage:一个用Swift构建的清晰的应用内通知/消息横幅。

消息角标(BadgeView)
获取iOS设备信息
- https://github.com/lmirosevic/GBDeviceInfo
- https://github.com/haiwei-Lee/DeviceInfoCollection
- https://github.com/leverdeterre/iAppInfos
- https://github.com/Dtheme/DeviceInfo
- https://github.com/wz15011015/BWMACAddressInfo
- BWMACAddressInfo:本App是一款工具类应用程序,用于查询设备网卡地址的相关信息。
- iOS-getClientInfo:iOS中获取各种设备信息的方法总结
工具
- JSONEditer一个简单又强大的APP中json编辑器
- DoraemonKit功能齐全的通有的开发辅助工具助手
- HYBHelperKit:日常开发必不可少的神器之一,UIBlockKit,UIMakerKit,UIKit中,CommonKit,FoundationKit,控制器,常量等集于一身的神器!
LLDebugTool:是一款针对开发者和测试者的调试工具,它可以帮助你在非Xcode的情况下,进行数据分析和操作。
显示UIView布局
MMPlaceHolder显示UIView大小的解决方案。只有一个行代码可以使用它。
代码混淆工具
ZFJObsLib混淆工具全面支持OC与Swift语言开发的项目备更新地址 使用问答
JSON转model工具
-
打印中文编码
HYBUnicodeReadable解决打印日志对于Unicode编码不能正常显示中文的问题,只需要将文件导入工程,不需要引用,就能达到打印日志显示Unicode编码中文数据
钥匙串
SAMKeychain:适用于Mac和iOS的钥匙串的简单Objective-C包装器
- KeychainAccess适用于iOS,watchOS,tvOS和macOS的Keychain的简单Swift包装器
WebView
- WKWebviewDemo WKWebviewForSwift简易的WKWebview浏览器,带加载进度条,可侧滑返回上一网页界面。同时也可以通过返回键返回上一Controller或网页,也可以点击关闭,来关闭当前界面。
- DTCoreText: 在 CoreText 中使用 HTML 代码的方法
倒计时
- OYCountDownManageriOS在cell中使用倒计时的处理方法, 全局使用一个NSTimer对象, 支持单列表.多列表.多页面.分页列表使用
- OYCountDownManager-SwiftiOS在cell中使用倒计时的处理方法, 全局使用一个NSTimer对象, 支持单列表.多列表.多页面.分页列表使用
excel表格
- UIView-WZB一行代码画一个表格,UIView分类,可以很简单的画excel表格

- LMReport多功能报表控件,支持整体样式和单元格样式的设置,支持复合表头、自适应行高、触摸事件响应已经排序,基本满足常见报表功能。
表单(Form)
- JhForm自定义表单工具,更加简单,快捷的创建表单

- XLForm是最灵活,最强大的iOS库,用于创建动态表视图表单。与Swift和Obj-C完全兼容。
- SWForm 高度封装自适应表单(重构版)
UFKit快速集成表单Form
文本输入(Textfield)
- JVFloatLabeledTextField:具有浮动标签的UITextField子类
- MMTextFieldEffects
XWMoneyTextField保证UITextField输入金额的合法性,集成非常简单,只需要不到10行代码即可。

Swift
文字视图(Textview)
- UITextView-WZB一个强大的UITextView的分类,三大功能,让系统TextView的自带占位符属性,自动高度,支持输入图片
进度条
- M13ProgressSuite:导航栏加载进度条

选择器(PickView)
- EWAddressPicker-Swift EWAddressPicker-OC地址选择器,选择省市地区
- FJAddressPicker 类似京东地址选择器Swift(无限级)
搜索框(Search Bar)
- PYSearch一款综合(QQ 音乐、微信、美团、优酷、虎牙直播等多款 app)风格的搜索控制器
按钮(UIButton)
- DownloadButton可定制的App Store风格的下载按钮
- VBFPopFlatButton9个不同状态的平面按钮
PPNumberButton一款高度可定制性商品计数按钮(京东/淘宝/饿了么/美团外卖/百度外卖样式)
文本(UILabel)
TTTAttributedLabel:富文本的 label,可点击链接
异常闪退
JJException保护App,一般常见的问题不会导致闪退,增强App的健壮性
全屏返回
欢迎页
- EAIntroView介绍视图
- XHLaunchAd: 开屏广告、启动广告解决方案-支持静态/动态图片广告,mp4视频广告
- RegexKitLite:正则表达式
- hpple:html 解析
- ODRefreshControl:下拉刷新
- BlocksKit:block 工具包。将很多需要用 delegate 实现的方法整合成了 block 的形式
nui:使用样式表设置iOS应用程序样式,类似于CSS
面试资料
iOSInterviewQuestions:iOS面试题集锦(附答案)—学习交流群515295083
性能
AppPerformance App性能监控,包括:CPU占用率、内存占用大小、卡顿、启动闪退、崩溃、耗电量等。
https://github.com/sx1989827/RunTrace
https://github.com/ripperhe/Debugo
https://github.com/bairdweng/BWANRManage
工具
- Flipper 是 facebook 开源的一个面向移动端(Android/iOS)开发者的桌面调试平台。
- CoreEditText iOS开发工具类汇总,包含各种常用功能,用简单的宏定义使iOS开发简单、快捷、高效。